Skip to content

Commit 64e6dc8

Browse files
authored
feat(connector): [payload] add recurring payments (#8597)
1 parent d4d7397 commit 64e6dc8

File tree

22 files changed

+392
-181
lines changed

22 files changed

+392
-181
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/config.example.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,10 @@ crypto_currency = { country = "US, CA, GB, AT, BE, BG, HR, CY, CZ, DK, EE, FI, F
735735
debit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
736736
credit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
737737

738+
[pm_filters.payload]
739+
debit = { currency = "USD,CAD" }
740+
credit = { currency = "USD,CAD" }
741+
738742
[pm_filters.digitalvirgo]
739743
direct_carrier_billing = {country = "MA, CM, ZA, EG, SN, DZ, TN, ML, GN, GH, LY, GA, CG, MG, BW, SD, NG, ID, SG, AZ, TR, FR, ES, PL, GB, PT, DE, IT, BE, IE, SK, GR, NL, CH, BR, MX, AR, CL, AE, IQ, KW, BH, SA, QA, PS, JO, OM, RU" , currency = "MAD, XOF, XAF, ZAR, EGP, DZD, TND, GNF, GHS, LYD, XAF, CDF, MGA, BWP, SDG, NGN, IDR, SGD, RUB, AZN, TRY, EUR, PLN, GBP, CHF, BRL, MXN, ARS, CLP, AED, IQD, KWD, BHD, SAR, QAR, ILS, JOD, OMR" }
740744

config/deployments/integration_test.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,8 @@ bank_debit.ach = { connector_list = "gocardless,adyen,stripe" }
223223
bank_debit.becs = { connector_list = "gocardless,stripe,adyen" }
224224
bank_debit.bacs = { connector_list = "stripe,gocardless" }
225225
bank_debit.sepa = { connector_list = "gocardless,adyen,stripe,deutschebank" }
226-
card.credit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv"
227-
card.debit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv"
226+
card.credit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload"
227+
card.debit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload"
228228
pay_later.klarna.connector_list = "adyen,aci"
229229
wallet.apple_pay.connector_list = "stripe,adyen,cybersource,noon,bankofamerica,nexinets,novalnet,authorizedotnet,wellsfargo"
230230
wallet.samsung_pay.connector_list = "cybersource"
@@ -443,6 +443,10 @@ crypto_currency = { country = "US, CA, GB, AT, BE, BG, HR, CY, CZ, DK, EE, FI, F
443443
debit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
444444
credit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
445445

446+
[pm_filters.payload]
447+
debit = { currency = "USD,CAD" }
448+
credit = { currency = "USD,CAD" }
449+
446450
[pm_filters.digitalvirgo]
447451
direct_carrier_billing = {country = "MA, CM, ZA, EG, SN, DZ, TN, ML, GN, GH, LY, GA, CG, MG, BW, SD, NG, ID, SG, AZ, TR, FR, ES, PL, GB, PT, DE, IT, BE, IE, SK, GR, NL, CH, BR, MX, AR, CL, AE, IQ, KW, BH, SA, QA, PS, JO, OM, RU" , currency = "MAD, XOF, XAF, ZAR, EGP, DZD, TND, GNF, GHS, LYD, XAF, CDF, MGA, BWP, SDG, NGN, IDR, SGD, RUB, AZN, TRY, EUR, PLN, GBP, CHF, BRL, MXN, ARS, CLP, AED, IQD, KWD, BHD, SAR, QAR, ILS, JOD, OMR" }
448452

config/deployments/production.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,8 @@ bank_debit.ach = { connector_list = "gocardless,adyen,stripe" }
223223
bank_debit.becs = { connector_list = "gocardless,stripe,adyen" }
224224
bank_debit.bacs = { connector_list = "stripe,gocardless" }
225225
bank_debit.sepa = { connector_list = "gocardless,adyen,stripe,deutschebank" }
226-
card.credit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv"
227-
card.debit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv"
226+
card.credit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload"
227+
card.debit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload"
228228
pay_later.klarna.connector_list = "adyen,aci"
229229
wallet.apple_pay.connector_list = "stripe,adyen,cybersource,noon,bankofamerica,nexinets,novalnet,authorizedotnet,wellsfargo"
230230
wallet.samsung_pay.connector_list = "cybersource"
@@ -521,6 +521,10 @@ crypto_currency = { country = "US, CA, GB, AT, BE, BG, HR, CY, CZ, DK, EE, FI, F
521521
debit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
522522
credit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
523523

524+
[pm_filters.payload]
525+
debit = { currency = "USD,CAD" }
526+
credit = { currency = "USD,CAD" }
527+
524528
[pm_filters.digitalvirgo]
525529
direct_carrier_billing = {country = "MA, CM, ZA, EG, SN, DZ, TN, ML, GN, GH, LY, GA, CG, MG, BW, SD, NG, ID, SG, AZ, TR, FR, ES, PL, GB, PT, DE, IT, BE, IE, SK, GR, NL, CH, BR, MX, AR, CL, AE, IQ, KW, BH, SA, QA, PS, JO, OM, RU" , currency = "MAD, XOF, XAF, ZAR, EGP, DZD, TND, GNF, GHS, LYD, XAF, CDF, MGA, BWP, SDG, NGN, IDR, SGD, RUB, AZN, TRY, EUR, PLN, GBP, CHF, BRL, MXN, ARS, CLP, AED, IQD, KWD, BHD, SAR, QAR, ILS, JOD, OMR" }
526530

config/deployments/sandbox.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,8 @@ bank_debit.ach = { connector_list = "gocardless,adyen,stripe" }
230230
bank_debit.becs = { connector_list = "gocardless,stripe,adyen" }
231231
bank_debit.bacs = { connector_list = "stripe,gocardless" }
232232
bank_debit.sepa = { connector_list = "gocardless,adyen,stripe,deutschebank" }
233-
card.credit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv"
234-
card.debit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv"
233+
card.credit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload"
234+
card.debit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload"
235235
pay_later.klarna.connector_list = "adyen,aci"
236236
wallet.apple_pay.connector_list = "stripe,adyen,cybersource,noon,bankofamerica,nexinets,novalnet,authorizedotnet,wellsfargo"
237237
wallet.samsung_pay.connector_list = "cybersource"
@@ -533,6 +533,10 @@ direct_carrier_billing = {country = "MA, CM, ZA, EG, SN, DZ, TN, ML, GN, GH, LY,
533533
debit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
534534
credit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
535535

536+
[pm_filters.payload]
537+
debit = { currency = "USD,CAD" }
538+
credit = { currency = "USD,CAD" }
539+
536540
[pm_filters.klarna]
537541
klarna = { country = "AU,AT,BE,CA,CZ,DK,FI,FR,DE,GR,IE,IT,NL,NZ,NO,PL,PT,ES,SE,CH,GB,US", currency = "CHF,DKK,EUR,GBP,NOK,PLN,SEK,USD,AUD,NZD,CAD" }
538542

config/development.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,10 @@ crypto_currency = { country = "US, CA, GB, AT, BE, BG, HR, CY, CZ, DK, EE, FI, F
685685
debit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
686686
credit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
687687

688+
[pm_filters.payload]
689+
debit = { currency = "USD,CAD" }
690+
credit = { currency = "USD,CAD" }
691+
688692
[pm_filters.digitalvirgo]
689693
direct_carrier_billing = {country = "MA, CM, ZA, EG, SN, DZ, TN, ML, GN, GH, LY, GA, CG, MG, BW, SD, NG, ID, SG, AZ, TR, FR, ES, PL, GB, PT, DE, IT, BE, IE, SK, GR, NL, CH, BR, MX, AR, CL, AE, IQ, KW, BH, SA, QA, PS, JO, OM, RU" , currency = "MAD, XOF, XAF, ZAR, EGP, DZD, TND, GNF, GHS, LYD, XAF, CDF, MGA, BWP, SDG, NGN, IDR, SGD, RUB, AZN, TRY, EUR, PLN, GBP, CHF, BRL, MXN, ARS, CLP, AED, IQD, KWD, BHD, SAR, QAR, ILS, JOD, OMR" }
690694

@@ -989,8 +993,8 @@ bank_debit.ach = { connector_list = "gocardless,adyen,stripe" }
989993
bank_debit.becs = { connector_list = "gocardless,stripe,adyen" }
990994
bank_debit.bacs = { connector_list = "stripe,gocardless" }
991995
bank_debit.sepa = { connector_list = "gocardless,adyen,stripe,deutschebank" }
992-
card.credit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv"
993-
card.debit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv"
996+
card.credit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload"
997+
card.debit.connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,braintree,nuvei,payme,wellsfargo,bamboraapac,elavon,fiuu,nexixpay,novalnet,paybox,paypal,xendit,moneris,archipel,worldpayvantiv,payload"
994998
pay_later.klarna.connector_list = "adyen,aci"
995999
wallet.apple_pay.connector_list = "stripe,adyen,cybersource,noon,bankofamerica,nexinets,novalnet,authorizedotnet,wellsfargo"
9961000
wallet.samsung_pay.connector_list = "cybersource"

config/docker_compose.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,10 @@ crypto_currency = { country = "US, CA, GB, AT, BE, BG, HR, CY, CZ, DK, EE, FI, F
576576
debit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
577577
credit = { country = "FR", currency = "CAD, AUD, EUR, USD" }
578578

579+
[pm_filters.payload]
580+
debit = { currency = "USD,CAD" }
581+
credit = { currency = "USD,CAD" }
582+
579583
[pm_filters.digitalvirgo]
580584
direct_carrier_billing = {country = "MA, CM, ZA, EG, SN, DZ, TN, ML, GN, GH, LY, GA, CG, MG, BW, SD, NG, ID, SG, AZ, TR, FR, ES, PL, GB, PT, DE, IT, BE, IE, SK, GR, NL, CH, BR, MX, AR, CL, AE, IQ, KW, BH, SA, QA, PS, JO, OM, RU" , currency = "MAD, XOF, XAF, ZAR, EGP, DZD, TND, GNF, GHS, LYD, XAF, CDF, MGA, BWP, SDG, NGN, IDR, SGD, RUB, AZN, TRY, EUR, PLN, GBP, CHF, BRL, MXN, ARS, CLP, AED, IQD, KWD, BHD, SAR, QAR, ILS, JOD, OMR" }
581585

@@ -911,8 +915,8 @@ wallet.google_pay = { connector_list = "stripe,adyen,bankofamerica,authorizedotn
911915
wallet.apple_pay = { connector_list = "stripe,adyen,cybersource,noon,bankofamerica,authorizedotnet,novalnet,multisafepay,wellsfargo" }
912916
wallet.samsung_pay = { connector_list = "cybersource" }
913917
wallet.paypal = { connector_list = "adyen,novalnet,authorizedotnet" }
914-
card.credit = { connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,elavon,xendit,novalnet,bamboraapac,archipel,wellsfargo,worldpayvantiv" }
915-
card.debit = { connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,elavon,xendit,novalnet,bamboraapac,archipel,wellsfargo,worldpayvantiv" }
918+
card.credit = { connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,elavon,xendit,novalnet,bamboraapac,archipel,wellsfargo,worldpayvantiv,payload" }
919+
card.debit = { connector_list = "stripe,adyen,authorizedotnet,cybersource,datatrans,globalpay,worldpay,multisafepay,nmi,nexinets,noon,bankofamerica,elavon,xendit,novalnet,bamboraapac,archipel,wellsfargo,worldpayvantiv,payload" }
916920
bank_debit.ach = { connector_list = "gocardless,adyen" }
917921
bank_debit.becs = { connector_list = "gocardless" }
918922
bank_debit.bacs = { connector_list = "adyen" }

crates/connector_configs/toml/development.toml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6415,9 +6415,14 @@ type="Text"
64156415
payment_method_type = "Mastercard"
64166416
[[payload.debit]]
64176417
payment_method_type = "Visa"
6418-
[payload.connector_auth.HeaderKey]
6419-
api_key="API Key"
64206418

6419+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.USD]
6420+
processing_account_id = "processing_account_id"
6421+
api_key = "API Key"
6422+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.CAD]
6423+
processing_account_id = "processing_account_id"
6424+
api_key = "API Key"
6425+
64216426
[silverflow]
64226427
[[silverflow.credit]]
64236428
payment_method_type = "Mastercard"

crates/connector_configs/toml/production.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5028,7 +5028,12 @@ payment_method_type = "Discover"
50285028
payment_method_type = "Mastercard"
50295029
[[payload.debit]]
50305030
payment_method_type = "Visa"
5031-
[payload.connector_auth.HeaderKey]
5031+
5032+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.USD]
5033+
processing_account_id = "processing_account_id"
5034+
api_key = "API Key"
5035+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.CAD]
5036+
processing_account_id = "processing_account_id"
50325037
api_key = "API Key"
50335038

50345039
[silverflow]

crates/connector_configs/toml/sandbox.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6396,7 +6396,12 @@ payment_method_type = "Discover"
63966396
payment_method_type = "Mastercard"
63976397
[[payload.debit]]
63986398
payment_method_type = "Visa"
6399-
[payload.connector_auth.HeaderKey]
6399+
6400+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.USD]
6401+
processing_account_id = "processing_account_id"
6402+
api_key = "API Key"
6403+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.CAD]
6404+
processing_account_id = "processing_account_id"
64006405
api_key = "API Key"
64016406

64026407
[silverflow]

0 commit comments

Comments
 (0)