Skip to content

Commit b3d47b6

Browse files
feat(connector): Stripe revolut pay wallet integration (#8066)
1 parent 2432133 commit b3d47b6

File tree

52 files changed

+165
-42
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+165
-42
lines changed

api-reference-v2/openapi_spec.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16973,7 +16973,8 @@
1697316973
"mifinity",
1697416974
"open_banking_pis",
1697516975
"direct_carrier_billing",
16976-
"instant_bank_transfer"
16976+
"instant_bank_transfer",
16977+
"revolut_pay"
1697716978
]
1697816979
},
1697916980
"PaymentMethodUpdate": {
@@ -21657,6 +21658,9 @@
2165721658
}
2165821659
}
2165921660
},
21661+
"RevolutPayData": {
21662+
"type": "object"
21663+
},
2166021664
"RewardData": {
2166121665
"type": "object",
2166221666
"required": [
@@ -24421,6 +24425,17 @@
2442124425
"$ref": "#/components/schemas/MifinityData"
2442224426
}
2442324427
}
24428+
},
24429+
{
24430+
"type": "object",
24431+
"required": [
24432+
"revolut_pay"
24433+
],
24434+
"properties": {
24435+
"revolut_pay": {
24436+
"$ref": "#/components/schemas/RevolutPayData"
24437+
}
24438+
}
2442424439
}
2442524440
]
2442624441
},

api-reference/openapi_spec.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18948,7 +18948,8 @@
1894818948
"mifinity",
1894918949
"open_banking_pis",
1895018950
"direct_carrier_billing",
18951-
"instant_bank_transfer"
18951+
"instant_bank_transfer",
18952+
"revolut_pay"
1895218953
]
1895318954
},
1895418955
"PaymentMethodUpdate": {
@@ -25910,6 +25911,9 @@
2591025911
}
2591125912
}
2591225913
},
25914+
"RevolutPayData": {
25915+
"type": "object"
25916+
},
2591325917
"RewardData": {
2591425918
"type": "object",
2591525919
"required": [
@@ -28679,6 +28683,17 @@
2867928683
"$ref": "#/components/schemas/MifinityData"
2868028684
}
2868128685
}
28686+
},
28687+
{
28688+
"type": "object",
28689+
"required": [
28690+
"revolut_pay"
28691+
],
28692+
"properties": {
28693+
"revolut_pay": {
28694+
"$ref": "#/components/schemas/RevolutPayData"
28695+
}
28696+
}
2868228697
}
2868328698
]
2868428699
},

config/deployments/production.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,7 @@ ideal = { country = "NL", currency = "EUR" }
551551
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 = "AUD,CAD,CHF,CZK,DKK,EUR,GBP,NOK,NZD,PLN,SEK,USD" }
552552
multibanco = { country = "PT", currency = "EUR" }
553553
ach = { country = "US", currency = "USD" }
554+
revolut_pay = { currency = "EUR,GBP" }
554555

555556
[pm_filters.volt]
556557
open_banking_uk = {country = "DE,GB,AT,BE,CY,EE,ES,FI,FR,GR,HR,IE,IT,LT,LU,LV,MT,NL,PT,SI,SK,BG,CZ,DK,HU,NO,PL,RO,SE,AU,BR", currency = "EUR,GBP,DKK,NOK,PLN,SEK,AUD,BRL"}

config/deployments/sandbox.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,7 @@ ideal = { country = "NL", currency = "EUR" }
559559
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 = "AUD,CAD,CHF,CZK,DKK,EUR,GBP,NOK,NZD,PLN,SEK,USD" }
560560
multibanco = { country = "PT", currency = "EUR" }
561561
ach = { country = "US", currency = "USD" }
562+
revolut_pay = { currency = "EUR,GBP" }
562563

563564
[pm_filters.volt]
564565
open_banking_uk = { country = "DE,GB,AT,BE,CY,EE,ES,FI,FR,GR,HR,IE,IT,LT,LU,LV,MT,NL,PT,SI,SK,BG,CZ,DK,HU,NO,PL,RO,SE,AU,BR", currency = "EUR,GBP,DKK,NOK,PLN,SEK,AUD,BRL" }

config/development.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,7 @@ ideal = { country = "NL", currency = "EUR" }
422422
cashapp = { country = "US", currency = "USD" }
423423
multibanco = { country = "PT", currency = "EUR" }
424424
ach = { country = "US", currency = "USD" }
425+
revolut_pay = { currency = "EUR,GBP" }
425426

426427
[pm_filters.volt]
427428
open_banking_uk = { country = "DE,GB,AT,BE,CY,EE,ES,FI,FR,GR,HR,IE,IT,LT,LU,LV,MT,NL,PT,SI,SK,BG,CZ,DK,HU,NO,PL,RO,SE,AU,BR", currency = "EUR,GBP,DKK,NOK,PLN,SEK,AUD,BRL" }

crates/api_models/src/payments.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2685,6 +2685,7 @@ impl GetPaymentMethodType for WalletData {
26852685
Self::CashappQr(_) => api_enums::PaymentMethodType::Cashapp,
26862686
Self::SwishQr(_) => api_enums::PaymentMethodType::Swish,
26872687
Self::Mifinity(_) => api_enums::PaymentMethodType::Mifinity,
2688+
Self::RevolutPay(_) => api_enums::PaymentMethodType::RevolutPay,
26882689
}
26892690
}
26902691
}
@@ -3609,6 +3610,8 @@ pub enum WalletData {
36093610
SwishQr(SwishQrData),
36103611
// The wallet data for Mifinity Ewallet
36113612
Mifinity(MifinityData),
3613+
// The wallet data for RevolutPay
3614+
RevolutPay(RevolutPayData),
36123615
}
36133616

36143617
impl GetAddressFromPaymentMethodData for WalletData {
@@ -3660,7 +3663,8 @@ impl GetAddressFromPaymentMethodData for WalletData {
36603663
| Self::WeChatPayRedirect(_)
36613664
| Self::WeChatPayQr(_)
36623665
| Self::CashappQr(_)
3663-
| Self::SwishQr(_) => None,
3666+
| Self::SwishQr(_)
3667+
| Self::RevolutPay(_) => None,
36643668
}
36653669
}
36663670
}
@@ -3895,6 +3899,9 @@ pub struct TouchNGoRedirection {}
38953899
#[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)]
38963900
pub struct SwishQrData {}
38973901

3902+
#[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)]
3903+
pub struct RevolutPayData {}
3904+
38983905
#[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)]
38993906
pub struct MifinityData {
39003907
#[schema(value_type = Date)]

crates/common_enums/src/enums.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1922,6 +1922,7 @@ pub enum PaymentMethodType {
19221922
OpenBankingPIS,
19231923
DirectCarrierBilling,
19241924
InstantBankTransfer,
1925+
RevolutPay,
19251926
}
19261927

19271928
impl PaymentMethodType {
@@ -2034,6 +2035,7 @@ impl PaymentMethodType {
20342035
Self::Mifinity => "MiFinity",
20352036
Self::OpenBankingPIS => "Open Banking PIS",
20362037
Self::DirectCarrierBilling => "Direct Carrier Billing",
2038+
Self::RevolutPay => "RevolutPay",
20372039
};
20382040
display_name.to_string()
20392041
}

crates/common_enums/src/transformers.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1894,6 +1894,7 @@ impl From<PaymentMethodType> for PaymentMethod {
18941894
PaymentMethodType::PayEasy => Self::Voucher,
18951895
PaymentMethodType::OpenBankingPIS => Self::OpenBanking,
18961896
PaymentMethodType::DirectCarrierBilling => Self::MobilePayment,
1897+
PaymentMethodType::RevolutPay => Self::Wallet,
18971898
}
18981899
}
18991900
}

crates/connector_configs/toml/development.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4006,6 +4006,8 @@ merchant_secret="Source verification key"
40064006
[[stripe.wallet]]
40074007
payment_method_type = "cashapp"
40084008
payment_experience = "display_qr_code"
4009+
[[stripe.wallet]]
4010+
payment_method_type = "revolut_pay"
40094011
is_verifiable = true
40104012
[stripe.connector_auth.HeaderKey]
40114013
api_key="Secret Key"

crates/connector_configs/toml/production.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2846,6 +2846,8 @@ merchant_secret="Source verification key"
28462846
payment_method_type = "apple_pay"
28472847
[[stripe.wallet]]
28482848
payment_method_type = "google_pay"
2849+
[[stripe.wallet]]
2850+
payment_method_type = "revolut_pay"
28492851
is_verifiable = true
28502852
[stripe.connector_auth.HeaderKey]
28512853
api_key="Secret Key"

0 commit comments

Comments
 (0)