From b54a3f9142388a3d870406c54fd1d314c7c7748d Mon Sep 17 00:00:00 2001 From: sweta-kumari-sharma <77436883+Sweta-Kumari-Sharma@users.noreply.github.com> Date: Wed, 5 Feb 2025 19:12:35 +0530 Subject: [PATCH] FEAT: Add Support for Amazon Pay Redirect and Amazon Pay payment via Stripe (#7056) Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com> --- api-reference-v2/openapi_spec.json | 15 +++++++++++++ api-reference/openapi_spec.json | 15 +++++++++++++ crates/api_models/src/payments.rs | 7 ++++++ crates/common_enums/src/enums.rs | 1 + crates/common_enums/src/transformers.rs | 1 + .../connector_configs/toml/development.toml | 2 ++ crates/connector_configs/toml/production.toml | 2 ++ crates/connector_configs/toml/sandbox.toml | 2 ++ crates/euclid/src/frontend/dir/enums.rs | 1 + crates/euclid/src/frontend/dir/lowering.rs | 1 + .../euclid/src/frontend/dir/transformers.rs | 1 + .../src/connectors/airwallex/transformers.rs | 1 + .../connectors/bankofamerica/transformers.rs | 2 ++ .../src/connectors/bluesnap/transformers.rs | 1 + .../src/connectors/boku/transformers.rs | 1 + .../connectors/cybersource/transformers.rs | 2 ++ .../src/connectors/fiuu/transformers.rs | 1 + .../src/connectors/globepay/transformers.rs | 1 + .../connectors/multisafepay/transformers.rs | 3 +++ .../src/connectors/nexinets/transformers.rs | 1 + .../src/connectors/novalnet/transformers.rs | 2 ++ .../src/connectors/shift4/transformers.rs | 1 + .../src/connectors/square/transformers.rs | 1 + .../src/connectors/wellsfargo/transformers.rs | 2 ++ .../src/connectors/worldpay/transformers.rs | 1 + .../src/connectors/zen/transformers.rs | 1 + crates/hyperswitch_connectors/src/utils.rs | 2 ++ .../src/payment_method_data.rs | 9 +++++++- crates/kgraph_utils/src/mca.rs | 1 + crates/kgraph_utils/src/transformers.rs | 1 + crates/openapi/src/openapi.rs | 1 + crates/openapi/src/openapi_v2.rs | 1 + .../payment_connector_required_fields.rs | 15 +++++++++++++ .../router/src/connector/aci/transformers.rs | 1 + crates/router/src/connector/adyen.rs | 3 ++- .../src/connector/adyen/transformers.rs | 1 + .../connector/authorizedotnet/transformers.rs | 1 + .../src/connector/checkout/transformers.rs | 2 ++ crates/router/src/connector/klarna.rs | 2 ++ .../src/connector/mifinity/transformers.rs | 1 + .../router/src/connector/nmi/transformers.rs | 1 + .../router/src/connector/noon/transformers.rs | 1 + .../src/connector/nuvei/transformers.rs | 1 + .../src/connector/payme/transformers.rs | 1 + .../src/connector/paypal/transformers.rs | 2 ++ .../src/connector/stripe/transformers.rs | 22 +++++++++++++++++++ crates/router/src/connector/utils.rs | 2 ++ crates/router/src/core/payments/helpers.rs | 3 ++- crates/router/src/types/transformers.rs | 3 ++- 49 files changed, 142 insertions(+), 4 deletions(-) diff --git a/api-reference-v2/openapi_spec.json b/api-reference-v2/openapi_spec.json index 7556a4e776..a8abc3fb7d 100644 --- a/api-reference-v2/openapi_spec.json +++ b/api-reference-v2/openapi_spec.json @@ -3118,6 +3118,9 @@ "AliPayRedirection": { "type": "object" }, + "AmazonPayRedirectData": { + "type": "object" + }, "AmountDetails": { "type": "object", "required": [ @@ -14273,6 +14276,7 @@ "ali_pay", "ali_pay_hk", "alma", + "amazon_pay", "apple_pay", "atome", "bacs", @@ -20862,6 +20866,17 @@ } } }, + { + "type": "object", + "required": [ + "amazon_pay_redirect" + ], + "properties": { + "amazon_pay_redirect": { + "$ref": "#/components/schemas/AmazonPayRedirectData" + } + } + }, { "type": "object", "required": [ diff --git a/api-reference/openapi_spec.json b/api-reference/openapi_spec.json index ea0a95c1d5..5bdaa5940c 100644 --- a/api-reference/openapi_spec.json +++ b/api-reference/openapi_spec.json @@ -5882,6 +5882,9 @@ "AliPayRedirection": { "type": "object" }, + "AmazonPayRedirectData": { + "type": "object" + }, "AmountFilter": { "type": "object", "properties": { @@ -17247,6 +17250,7 @@ "ali_pay", "ali_pay_hk", "alma", + "amazon_pay", "apple_pay", "atome", "bacs", @@ -26182,6 +26186,17 @@ } } }, + { + "type": "object", + "required": [ + "amazon_pay_redirect" + ], + "properties": { + "amazon_pay_redirect": { + "$ref": "#/components/schemas/AmazonPayRedirectData" + } + } + }, { "type": "object", "required": [ diff --git a/crates/api_models/src/payments.rs b/crates/api_models/src/payments.rs index 4a1fa8b408..ec281197ed 100644 --- a/crates/api_models/src/payments.rs +++ b/crates/api_models/src/payments.rs @@ -2362,6 +2362,7 @@ impl GetPaymentMethodType for WalletData { match self { Self::AliPayQr(_) | Self::AliPayRedirect(_) => api_enums::PaymentMethodType::AliPay, Self::AliPayHkRedirect(_) => api_enums::PaymentMethodType::AliPayHk, + Self::AmazonPayRedirect(_) => api_enums::PaymentMethodType::AmazonPay, Self::MomoRedirect(_) => api_enums::PaymentMethodType::Momo, Self::KakaoPayRedirect(_) => api_enums::PaymentMethodType::KakaoPay, Self::GoPayRedirect(_) => api_enums::PaymentMethodType::GoPay, @@ -3241,6 +3242,8 @@ pub enum WalletData { AliPayRedirect(AliPayRedirection), /// The wallet data for Ali Pay HK redirect AliPayHkRedirect(AliPayHkRedirection), + /// The wallet data for Amazon Pay redirect + AmazonPayRedirect(AmazonPayRedirectData), /// The wallet data for Momo redirect MomoRedirect(MomoRedirection), /// The wallet data for KakaoPay redirect @@ -3324,6 +3327,7 @@ impl GetAddressFromPaymentMethodData for WalletData { | Self::KakaoPayRedirect(_) | Self::GoPayRedirect(_) | Self::GcashRedirect(_) + | Self::AmazonPayRedirect(_) | Self::ApplePay(_) | Self::ApplePayRedirect(_) | Self::ApplePayThirdPartySdk(_) @@ -3481,6 +3485,9 @@ pub struct GooglePayWalletData { #[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)] pub struct ApplePayRedirectData {} +#[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)] +pub struct AmazonPayRedirectData {} + #[derive(Eq, PartialEq, Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)] pub struct GooglePayRedirectData {} diff --git a/crates/common_enums/src/enums.rs b/crates/common_enums/src/enums.rs index d9d76dbc53..0234fbea6d 100644 --- a/crates/common_enums/src/enums.rs +++ b/crates/common_enums/src/enums.rs @@ -1557,6 +1557,7 @@ pub enum PaymentMethodType { AliPay, AliPayHk, Alma, + AmazonPay, ApplePay, Atome, Bacs, diff --git a/crates/common_enums/src/transformers.rs b/crates/common_enums/src/transformers.rs index 7611ae127e..d351f5c927 100644 --- a/crates/common_enums/src/transformers.rs +++ b/crates/common_enums/src/transformers.rs @@ -1799,6 +1799,7 @@ impl From for PaymentMethod { PaymentMethodType::AliPay => Self::Wallet, PaymentMethodType::AliPayHk => Self::Wallet, PaymentMethodType::Alma => Self::PayLater, + PaymentMethodType::AmazonPay => Self::Wallet, PaymentMethodType::ApplePay => Self::Wallet, PaymentMethodType::Bacs => Self::BankDebit, PaymentMethodType::BancontactCard => Self::BankRedirect, diff --git a/crates/connector_configs/toml/development.toml b/crates/connector_configs/toml/development.toml index 190114fee3..2b04ea8d1c 100644 --- a/crates/connector_configs/toml/development.toml +++ b/crates/connector_configs/toml/development.toml @@ -3139,6 +3139,8 @@ merchant_secret="Source verification key" payment_method_type = "sepa" [[stripe.bank_transfer]] payment_method_type = "multibanco" +[[stripe.wallet]] + payment_method_type = "amazon_pay" [[stripe.wallet]] payment_method_type = "apple_pay" [[stripe.wallet]] diff --git a/crates/connector_configs/toml/production.toml b/crates/connector_configs/toml/production.toml index f1745587a6..b7108c6347 100644 --- a/crates/connector_configs/toml/production.toml +++ b/crates/connector_configs/toml/production.toml @@ -2290,6 +2290,8 @@ merchant_secret="Source verification key" payment_method_type = "bacs" [[stripe.bank_transfer]] payment_method_type = "sepa" +[[stripe.wallet]] + payment_method_type = "amazon_pay" [[stripe.wallet]] payment_method_type = "apple_pay" [[stripe.wallet]] diff --git a/crates/connector_configs/toml/sandbox.toml b/crates/connector_configs/toml/sandbox.toml index 2a83d62ee9..b886e7410a 100644 --- a/crates/connector_configs/toml/sandbox.toml +++ b/crates/connector_configs/toml/sandbox.toml @@ -3081,6 +3081,8 @@ merchant_secret="Source verification key" payment_method_type = "sepa" [[stripe.bank_transfer]] payment_method_type = "multibanco" +[[stripe.wallet]] + payment_method_type = "amazon_pay" [[stripe.wallet]] payment_method_type = "apple_pay" [[stripe.wallet]] diff --git a/crates/euclid/src/frontend/dir/enums.rs b/crates/euclid/src/frontend/dir/enums.rs index 6c96070159..6fb302641d 100644 --- a/crates/euclid/src/frontend/dir/enums.rs +++ b/crates/euclid/src/frontend/dir/enums.rs @@ -71,6 +71,7 @@ pub enum PayLaterType { #[strum(serialize_all = "snake_case")] pub enum WalletType { GooglePay, + AmazonPay, ApplePay, Paypal, AliPay, diff --git a/crates/euclid/src/frontend/dir/lowering.rs b/crates/euclid/src/frontend/dir/lowering.rs index 07ff2c4364..04a029bd10 100644 --- a/crates/euclid/src/frontend/dir/lowering.rs +++ b/crates/euclid/src/frontend/dir/lowering.rs @@ -38,6 +38,7 @@ impl From for global_enums::PaymentMethodType { fn from(value: enums::WalletType) -> Self { match value { enums::WalletType::GooglePay => Self::GooglePay, + enums::WalletType::AmazonPay => Self::AmazonPay, enums::WalletType::ApplePay => Self::ApplePay, enums::WalletType::Paypal => Self::Paypal, enums::WalletType::AliPay => Self::AliPay, diff --git a/crates/euclid/src/frontend/dir/transformers.rs b/crates/euclid/src/frontend/dir/transformers.rs index 914a944491..1a3bb52e0f 100644 --- a/crates/euclid/src/frontend/dir/transformers.rs +++ b/crates/euclid/src/frontend/dir/transformers.rs @@ -19,6 +19,7 @@ impl IntoDirValue for (global_enums::PaymentMethodType, global_enums::PaymentMet global_enums::PaymentMethodType::AfterpayClearpay => { Ok(dirval!(PayLaterType = AfterpayClearpay)) } + global_enums::PaymentMethodType::AmazonPay => Ok(dirval!(WalletType = AmazonPay)), global_enums::PaymentMethodType::GooglePay => Ok(dirval!(WalletType = GooglePay)), global_enums::PaymentMethodType::ApplePay => Ok(dirval!(WalletType = ApplePay)), global_enums::PaymentMethodType::Paypal => Ok(dirval!(WalletType = Paypal)), diff --git a/crates/hyperswitch_connectors/src/connectors/airwallex/transformers.rs b/crates/hyperswitch_connectors/src/connectors/airwallex/transformers.rs index 45a7b577a8..8c5adefc61 100644 --- a/crates/hyperswitch_connectors/src/connectors/airwallex/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/airwallex/transformers.rs @@ -337,6 +337,7 @@ fn get_wallet_details( WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/bankofamerica/transformers.rs b/crates/hyperswitch_connectors/src/connectors/bankofamerica/transformers.rs index a0868d688e..11ff53d439 100644 --- a/crates/hyperswitch_connectors/src/connectors/bankofamerica/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/bankofamerica/transformers.rs @@ -296,6 +296,7 @@ impl TryFrom<&SetupMandateRouterData> for BankOfAmericaPaymentsRequest { WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) @@ -1045,6 +1046,7 @@ impl TryFrom<&BankOfAmericaRouterData<&PaymentsAuthorizeRouterData>> WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/bluesnap/transformers.rs b/crates/hyperswitch_connectors/src/connectors/bluesnap/transformers.rs index 7970b1b1d4..809902fa2a 100644 --- a/crates/hyperswitch_connectors/src/connectors/bluesnap/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/bluesnap/transformers.rs @@ -368,6 +368,7 @@ impl TryFrom<&BluesnapRouterData<&types::PaymentsAuthorizeRouterData>> for Blues WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/boku/transformers.rs b/crates/hyperswitch_connectors/src/connectors/boku/transformers.rs index da5f775489..8bc7b3639b 100644 --- a/crates/hyperswitch_connectors/src/connectors/boku/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/boku/transformers.rs @@ -180,6 +180,7 @@ fn get_wallet_type(wallet_data: &WalletData) -> Result for CybersourceZeroMandateRequest { WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) @@ -2066,6 +2067,7 @@ impl TryFrom<&CybersourceRouterData<&PaymentsAuthorizeRouterData>> for Cybersour WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/fiuu/transformers.rs b/crates/hyperswitch_connectors/src/connectors/fiuu/transformers.rs index 115079c7d0..e23cdd548c 100644 --- a/crates/hyperswitch_connectors/src/connectors/fiuu/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/fiuu/transformers.rs @@ -508,6 +508,7 @@ impl TryFrom<&FiuuRouterData<&PaymentsAuthorizeRouterData>> for FiuuPaymentReque WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/globepay/transformers.rs b/crates/hyperswitch_connectors/src/connectors/globepay/transformers.rs index 5d30146293..36c83859be 100644 --- a/crates/hyperswitch_connectors/src/connectors/globepay/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/globepay/transformers.rs @@ -59,6 +59,7 @@ impl TryFrom<&GlobepayRouterData<&types::PaymentsAuthorizeRouterData>> for Globe WalletData::WeChatPayQr(_) => GlobepayChannel::Wechat, WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs b/crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs index a60e8bdc79..54aca37a76 100644 --- a/crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs @@ -492,6 +492,7 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>> WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) @@ -556,6 +557,7 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>> WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) @@ -715,6 +717,7 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>> WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/nexinets/transformers.rs b/crates/hyperswitch_connectors/src/connectors/nexinets/transformers.rs index 8d6dc42926..21fa1ec321 100644 --- a/crates/hyperswitch_connectors/src/connectors/nexinets/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/nexinets/transformers.rs @@ -705,6 +705,7 @@ fn get_wallet_details( WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/novalnet/transformers.rs b/crates/hyperswitch_connectors/src/connectors/novalnet/transformers.rs index c1ef6566e0..112d409d6e 100644 --- a/crates/hyperswitch_connectors/src/connectors/novalnet/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/novalnet/transformers.rs @@ -341,6 +341,7 @@ impl TryFrom<&NovalnetRouterData<&PaymentsAuthorizeRouterData>> for NovalnetPaym WalletDataPaymentMethod::AliPayQr(_) | WalletDataPaymentMethod::AliPayRedirect(_) | WalletDataPaymentMethod::AliPayHkRedirect(_) + | WalletDataPaymentMethod::AmazonPayRedirect(_) | WalletDataPaymentMethod::MomoRedirect(_) | WalletDataPaymentMethod::KakaoPayRedirect(_) | WalletDataPaymentMethod::GoPayRedirect(_) @@ -1586,6 +1587,7 @@ impl TryFrom<&SetupMandateRouterData> for NovalnetPaymentsRequest { WalletDataPaymentMethod::AliPayQr(_) | WalletDataPaymentMethod::AliPayRedirect(_) | WalletDataPaymentMethod::AliPayHkRedirect(_) + | WalletDataPaymentMethod::AmazonPayRedirect(_) | WalletDataPaymentMethod::MomoRedirect(_) | WalletDataPaymentMethod::KakaoPayRedirect(_) | WalletDataPaymentMethod::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/shift4/transformers.rs b/crates/hyperswitch_connectors/src/connectors/shift4/transformers.rs index 1973e622be..5c5615aa94 100644 --- a/crates/hyperswitch_connectors/src/connectors/shift4/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/shift4/transformers.rs @@ -286,6 +286,7 @@ impl TryFrom<&WalletData> for Shift4PaymentMethod { fn try_from(wallet_data: &WalletData) -> Result { match wallet_data { WalletData::AliPayRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::ApplePay(_) | WalletData::WeChatPayRedirect(_) | WalletData::AliPayQr(_) diff --git a/crates/hyperswitch_connectors/src/connectors/square/transformers.rs b/crates/hyperswitch_connectors/src/connectors/square/transformers.rs index ff3999aee6..6c47e5d58d 100644 --- a/crates/hyperswitch_connectors/src/connectors/square/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/square/transformers.rs @@ -107,6 +107,7 @@ impl TryFrom<(&types::TokenizationRouterData, WalletData)> for SquareTokenReques | WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/wellsfargo/transformers.rs b/crates/hyperswitch_connectors/src/connectors/wellsfargo/transformers.rs index 1a4d3ce8f9..5eaf54065d 100644 --- a/crates/hyperswitch_connectors/src/connectors/wellsfargo/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/wellsfargo/transformers.rs @@ -187,6 +187,7 @@ impl TryFrom<&SetupMandateRouterData> for WellsfargoZeroMandateRequest { WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) @@ -1248,6 +1249,7 @@ impl TryFrom<&WellsfargoRouterData<&PaymentsAuthorizeRouterData>> for Wellsfargo WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/worldpay/transformers.rs b/crates/hyperswitch_connectors/src/connectors/worldpay/transformers.rs index e4656021a5..47a5d3b2b2 100644 --- a/crates/hyperswitch_connectors/src/connectors/worldpay/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/worldpay/transformers.rs @@ -156,6 +156,7 @@ fn fetch_payment_instrument( WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/connectors/zen/transformers.rs b/crates/hyperswitch_connectors/src/connectors/zen/transformers.rs index cc6795f157..a9e21f9071 100644 --- a/crates/hyperswitch_connectors/src/connectors/zen/transformers.rs +++ b/crates/hyperswitch_connectors/src/connectors/zen/transformers.rs @@ -487,6 +487,7 @@ impl | WalletData::AliPayQr(_) | WalletData::AliPayRedirect(_) | WalletData::AliPayHkRedirect(_) + | WalletData::AmazonPayRedirect(_) | WalletData::MomoRedirect(_) | WalletData::KakaoPayRedirect(_) | WalletData::GoPayRedirect(_) diff --git a/crates/hyperswitch_connectors/src/utils.rs b/crates/hyperswitch_connectors/src/utils.rs index c69641ebd1..418c505cf5 100644 --- a/crates/hyperswitch_connectors/src/utils.rs +++ b/crates/hyperswitch_connectors/src/utils.rs @@ -2296,6 +2296,7 @@ pub enum PaymentMethodDataType { AliPayQr, AliPayRedirect, AliPayHkRedirect, + AmazonPayRedirect, MomoRedirect, KakaoPayRedirect, GoPayRedirect, @@ -2415,6 +2416,7 @@ impl From for PaymentMethodDataType { payment_method_data::WalletData::AliPayQr(_) => Self::AliPayQr, payment_method_data::WalletData::AliPayRedirect(_) => Self::AliPayRedirect, payment_method_data::WalletData::AliPayHkRedirect(_) => Self::AliPayHkRedirect, + payment_method_data::WalletData::AmazonPayRedirect(_) => Self::AmazonPayRedirect, payment_method_data::WalletData::MomoRedirect(_) => Self::MomoRedirect, payment_method_data::WalletData::KakaoPayRedirect(_) => Self::KakaoPayRedirect, payment_method_data::WalletData::GoPayRedirect(_) => Self::GoPayRedirect, diff --git a/crates/hyperswitch_domain_models/src/payment_method_data.rs b/crates/hyperswitch_domain_models/src/payment_method_data.rs index dcf4696417..9e83810c9e 100644 --- a/crates/hyperswitch_domain_models/src/payment_method_data.rs +++ b/crates/hyperswitch_domain_models/src/payment_method_data.rs @@ -1,6 +1,8 @@ use api_models::{ mandates, payment_methods, - payments::{additional_info as payment_additional_types, ExtendedCardInfo}, + payments::{ + additional_info as payment_additional_types, AmazonPayRedirectData, ExtendedCardInfo, + }, }; use common_enums::enums as api_enums; use common_utils::{ @@ -169,6 +171,7 @@ pub enum WalletData { AliPayQr(Box), AliPayRedirect(AliPayRedirection), AliPayHkRedirect(AliPayHkRedirection), + AmazonPayRedirect(Box), MomoRedirect(MomoRedirection), KakaoPayRedirect(KakaoPayRedirection), GoPayRedirect(GoPayRedirection), @@ -729,6 +732,9 @@ impl From for WalletData { api_models::payments::WalletData::AliPayHkRedirect(_) => { Self::AliPayHkRedirect(AliPayHkRedirection {}) } + api_models::payments::WalletData::AmazonPayRedirect(_) => { + Self::AmazonPayRedirect(Box::new(AmazonPayRedirectData {})) + } api_models::payments::WalletData::MomoRedirect(_) => { Self::MomoRedirect(MomoRedirection {}) } @@ -1518,6 +1524,7 @@ impl GetPaymentMethodType for WalletData { match self { Self::AliPayQr(_) | Self::AliPayRedirect(_) => api_enums::PaymentMethodType::AliPay, Self::AliPayHkRedirect(_) => api_enums::PaymentMethodType::AliPayHk, + Self::AmazonPayRedirect(_) => api_enums::PaymentMethodType::AmazonPay, Self::MomoRedirect(_) => api_enums::PaymentMethodType::Momo, Self::KakaoPayRedirect(_) => api_enums::PaymentMethodType::KakaoPay, Self::GoPayRedirect(_) => api_enums::PaymentMethodType::GoPay, diff --git a/crates/kgraph_utils/src/mca.rs b/crates/kgraph_utils/src/mca.rs index a3e1dfc622..e224078493 100644 --- a/crates/kgraph_utils/src/mca.rs +++ b/crates/kgraph_utils/src/mca.rs @@ -21,6 +21,7 @@ fn get_dir_value_payment_method( from: api_enums::PaymentMethodType, ) -> Result { match from { + api_enums::PaymentMethodType::AmazonPay => Ok(dirval!(WalletType = AmazonPay)), api_enums::PaymentMethodType::Credit => Ok(dirval!(CardType = Credit)), api_enums::PaymentMethodType::Debit => Ok(dirval!(CardType = Debit)), api_enums::PaymentMethodType::Giropay => Ok(dirval!(BankRedirectType = Giropay)), diff --git a/crates/kgraph_utils/src/transformers.rs b/crates/kgraph_utils/src/transformers.rs index 89b8c5a34a..adfe582086 100644 --- a/crates/kgraph_utils/src/transformers.rs +++ b/crates/kgraph_utils/src/transformers.rs @@ -130,6 +130,7 @@ impl IntoDirValue for api_enums::FutureUsage { impl IntoDirValue for (api_enums::PaymentMethodType, api_enums::PaymentMethod) { fn into_dir_value(self) -> Result { match self.0 { + api_enums::PaymentMethodType::AmazonPay => Ok(dirval!(WalletType = AmazonPay)), api_enums::PaymentMethodType::Credit => Ok(dirval!(CardType = Credit)), api_enums::PaymentMethodType::Debit => Ok(dirval!(CardType = Debit)), api_enums::PaymentMethodType::Giropay => Ok(dirval!(BankRedirectType = Giropay)), diff --git a/crates/openapi/src/openapi.rs b/crates/openapi/src/openapi.rs index de358f7933..7102c23d17 100644 --- a/crates/openapi/src/openapi.rs +++ b/crates/openapi/src/openapi.rs @@ -479,6 +479,7 @@ Never share your secret api keys. Keep them guarded and secure. api_models::payments::AchTransfer, api_models::payments::MultibancoTransferInstructions, api_models::payments::DokuBankTransferInstructions, + api_models::payments::AmazonPayRedirectData, api_models::payments::ApplePayRedirectData, api_models::payments::ApplePayThirdPartySdkData, api_models::payments::GooglePayRedirectData, diff --git a/crates/openapi/src/openapi_v2.rs b/crates/openapi/src/openapi_v2.rs index 1078d8080c..ac88908fbd 100644 --- a/crates/openapi/src/openapi_v2.rs +++ b/crates/openapi/src/openapi_v2.rs @@ -440,6 +440,7 @@ Never share your secret api keys. Keep them guarded and secure. api_models::payments::AchTransfer, api_models::payments::MultibancoTransferInstructions, api_models::payments::DokuBankTransferInstructions, + api_models::payments::AmazonPayRedirectData, api_models::payments::ApplePayRedirectData, api_models::payments::ApplePayThirdPartySdkData, api_models::payments::GooglePayRedirectData, diff --git a/crates/router/src/configs/defaults/payment_connector_required_fields.rs b/crates/router/src/configs/defaults/payment_connector_required_fields.rs index 644c213acd..421f430e74 100644 --- a/crates/router/src/configs/defaults/payment_connector_required_fields.rs +++ b/crates/router/src/configs/defaults/payment_connector_required_fields.rs @@ -9488,6 +9488,21 @@ impl Default for settings::RequiredFields { ]), }, ), + ( + enums::PaymentMethodType::AmazonPay, + ConnectorFields { + fields: HashMap::from([ + ( + enums::Connector::Stripe, + RequiredFieldFinal { + mandate: HashMap::new(), + non_mandate: HashMap::new(), + common: HashMap::new(), + } + ), + ]), + }, + ), ( enums::PaymentMethodType::Cashapp, ConnectorFields { diff --git a/crates/router/src/connector/aci/transformers.rs b/crates/router/src/connector/aci/transformers.rs index 3e25799c02..11d34e55b7 100644 --- a/crates/router/src/connector/aci/transformers.rs +++ b/crates/router/src/connector/aci/transformers.rs @@ -108,6 +108,7 @@ impl TryFrom<(&domain::WalletData, &types::PaymentsAuthorizeRouterData)> for Pay account_id: None, })), domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) diff --git a/crates/router/src/connector/adyen.rs b/crates/router/src/connector/adyen.rs index d6f6fdc8f0..91e6575957 100644 --- a/crates/router/src/connector/adyen.rs +++ b/crates/router/src/connector/adyen.rs @@ -215,7 +215,8 @@ impl ConnectorValidation for Adyen { ) } }, - PaymentMethodType::CardRedirect + PaymentMethodType::AmazonPay + | PaymentMethodType::CardRedirect | PaymentMethodType::DirectCarrierBilling | PaymentMethodType::Fps | PaymentMethodType::DuitNow diff --git a/crates/router/src/connector/adyen/transformers.rs b/crates/router/src/connector/adyen/transformers.rs index 394652c33e..adb1a795f7 100644 --- a/crates/router/src/connector/adyen/transformers.rs +++ b/crates/router/src/connector/adyen/transformers.rs @@ -2211,6 +2211,7 @@ impl TryFrom<(&domain::WalletData, &types::PaymentsAuthorizeRouterData)> domain::WalletData::DanaRedirect { .. } => Ok(AdyenPaymentMethod::Dana), domain::WalletData::SwishQr(_) => Ok(AdyenPaymentMethod::Swish), domain::WalletData::AliPayQr(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::ApplePayRedirect(_) | domain::WalletData::ApplePayThirdPartySdk(_) | domain::WalletData::GooglePayRedirect(_) diff --git a/crates/router/src/connector/authorizedotnet/transformers.rs b/crates/router/src/connector/authorizedotnet/transformers.rs index c430191a1e..276ea6bf77 100644 --- a/crates/router/src/connector/authorizedotnet/transformers.rs +++ b/crates/router/src/connector/authorizedotnet/transformers.rs @@ -1809,6 +1809,7 @@ fn get_wallet_data( domain::WalletData::AliPayQr(_) | domain::WalletData::AliPayRedirect(_) | domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) diff --git a/crates/router/src/connector/checkout/transformers.rs b/crates/router/src/connector/checkout/transformers.rs index bb38ef7483..321a8cec76 100644 --- a/crates/router/src/connector/checkout/transformers.rs +++ b/crates/router/src/connector/checkout/transformers.rs @@ -93,6 +93,7 @@ impl TryFrom<&types::TokenizationRouterData> for TokenRequest { domain::WalletData::AliPayQr(_) | domain::WalletData::AliPayRedirect(_) | domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) @@ -347,6 +348,7 @@ impl TryFrom<&CheckoutRouterData<&types::PaymentsAuthorizeRouterData>> for Payme domain::WalletData::AliPayQr(_) | domain::WalletData::AliPayRedirect(_) | domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) diff --git a/crates/router/src/connector/klarna.rs b/crates/router/src/connector/klarna.rs index 4e54311a89..6fbc48a66a 100644 --- a/crates/router/src/connector/klarna.rs +++ b/crates/router/src/connector/klarna.rs @@ -577,6 +577,7 @@ impl | common_enums::PaymentMethodType::AliPay | common_enums::PaymentMethodType::AliPayHk | common_enums::PaymentMethodType::Alma + | common_enums::PaymentMethodType::AmazonPay | common_enums::PaymentMethodType::ApplePay | common_enums::PaymentMethodType::Atome | common_enums::PaymentMethodType::Bacs @@ -693,6 +694,7 @@ impl | common_enums::PaymentMethodType::AliPay | common_enums::PaymentMethodType::AliPayHk | common_enums::PaymentMethodType::Alma + | common_enums::PaymentMethodType::AmazonPay | common_enums::PaymentMethodType::ApplePay | common_enums::PaymentMethodType::Atome | common_enums::PaymentMethodType::Bacs diff --git a/crates/router/src/connector/mifinity/transformers.rs b/crates/router/src/connector/mifinity/transformers.rs index 1e2c420c76..f913077d1d 100644 --- a/crates/router/src/connector/mifinity/transformers.rs +++ b/crates/router/src/connector/mifinity/transformers.rs @@ -154,6 +154,7 @@ impl TryFrom<&MifinityRouterData<&types::PaymentsAuthorizeRouterData>> for Mifin domain::WalletData::AliPayQr(_) | domain::WalletData::AliPayRedirect(_) | domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) diff --git a/crates/router/src/connector/nmi/transformers.rs b/crates/router/src/connector/nmi/transformers.rs index 4c33f02001..19f03cb1b2 100644 --- a/crates/router/src/connector/nmi/transformers.rs +++ b/crates/router/src/connector/nmi/transformers.rs @@ -545,6 +545,7 @@ impl domain::WalletData::AliPayQr(_) | domain::WalletData::AliPayRedirect(_) | domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) diff --git a/crates/router/src/connector/noon/transformers.rs b/crates/router/src/connector/noon/transformers.rs index b96283247b..5816aaa929 100644 --- a/crates/router/src/connector/noon/transformers.rs +++ b/crates/router/src/connector/noon/transformers.rs @@ -314,6 +314,7 @@ impl TryFrom<&NoonRouterData<&types::PaymentsAuthorizeRouterData>> for NoonPayme domain::WalletData::AliPayQr(_) | domain::WalletData::AliPayRedirect(_) | domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) diff --git a/crates/router/src/connector/nuvei/transformers.rs b/crates/router/src/connector/nuvei/transformers.rs index c98a064777..eea700f695 100644 --- a/crates/router/src/connector/nuvei/transformers.rs +++ b/crates/router/src/connector/nuvei/transformers.rs @@ -902,6 +902,7 @@ where domain::WalletData::AliPayQr(_) | domain::WalletData::AliPayRedirect(_) | domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) diff --git a/crates/router/src/connector/payme/transformers.rs b/crates/router/src/connector/payme/transformers.rs index 7e50f7f40e..c13730529e 100644 --- a/crates/router/src/connector/payme/transformers.rs +++ b/crates/router/src/connector/payme/transformers.rs @@ -393,6 +393,7 @@ impl TryFrom<&PaymentMethodData> for SalePaymentMethod { domain::WalletData::AliPayQr(_) | domain::WalletData::AliPayRedirect(_) | domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) diff --git a/crates/router/src/connector/paypal/transformers.rs b/crates/router/src/connector/paypal/transformers.rs index 8f739792a0..18739851ae 100644 --- a/crates/router/src/connector/paypal/transformers.rs +++ b/crates/router/src/connector/paypal/transformers.rs @@ -1044,6 +1044,7 @@ impl TryFrom<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for PaypalP domain::WalletData::AliPayQr(_) | domain::WalletData::AliPayRedirect(_) | domain::WalletData::AliPayHkRedirect(_) + | domain::WalletData::AmazonPayRedirect(_) | domain::WalletData::MomoRedirect(_) | domain::WalletData::KakaoPayRedirect(_) | domain::WalletData::GoPayRedirect(_) @@ -1134,6 +1135,7 @@ impl TryFrom<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for PaypalP | enums::PaymentMethodType::AliPay | enums::PaymentMethodType::AliPayHk | enums::PaymentMethodType::Alma + | enums::PaymentMethodType::AmazonPay | enums::PaymentMethodType::ApplePay | enums::PaymentMethodType::Atome | enums::PaymentMethodType::Bacs diff --git a/crates/router/src/connector/stripe/transformers.rs b/crates/router/src/connector/stripe/transformers.rs index 6085277988..363dfb81bc 100644 --- a/crates/router/src/connector/stripe/transformers.rs +++ b/crates/router/src/connector/stripe/transformers.rs @@ -531,6 +531,7 @@ pub enum StripeWallet { ApplepayToken(StripeApplePay), GooglepayToken(GooglePayToken), ApplepayPayment(ApplepayPayment), + AmazonpayPayment(AmazonpayPayment), WechatpayPayment(WechatpayPayment), AlipayPayment(AlipayPayment), Cashapp(CashappPayment), @@ -577,6 +578,12 @@ pub struct ApplepayPayment { pub payment_method_types: StripePaymentMethodType, } +#[derive(Debug, Eq, PartialEq, Serialize)] +pub struct AmazonpayPayment { + #[serde(rename = "payment_method_data[type]")] + pub payment_method_types: StripePaymentMethodType, +} + #[derive(Debug, Eq, PartialEq, Serialize)] pub struct AlipayPayment { #[serde(rename = "payment_method_data[type]")] @@ -620,6 +627,8 @@ pub enum StripePaymentMethodType { Affirm, AfterpayClearpay, Alipay, + #[serde(rename = "amazon_pay")] + AmazonPay, #[serde(rename = "au_becs_debit")] Becs, #[serde(rename = "bacs_debit")] @@ -667,6 +676,7 @@ impl TryFrom for StripePaymentMethodType { enums::PaymentMethodType::Giropay => Ok(Self::Giropay), enums::PaymentMethodType::Ideal => Ok(Self::Ideal), enums::PaymentMethodType::Sofort => Ok(Self::Sofort), + enums::PaymentMethodType::AmazonPay => Ok(Self::AmazonPay), enums::PaymentMethodType::ApplePay => Ok(Self::Card), enums::PaymentMethodType::Ach => Ok(Self::Ach), enums::PaymentMethodType::Sepa => Ok(Self::Sepa), @@ -1048,6 +1058,9 @@ impl ForeignTryFrom<&domain::WalletData> for Option { domain::WalletData::GooglePay(_) => Ok(Some(StripePaymentMethodType::Card)), domain::WalletData::WeChatPayQr(_) => Ok(Some(StripePaymentMethodType::Wechatpay)), domain::WalletData::CashappQr(_) => Ok(Some(StripePaymentMethodType::Cashapp)), + domain::WalletData::AmazonPayRedirect(_) => { + Ok(Some(StripePaymentMethodType::AmazonPay)) + } domain::WalletData::MobilePayRedirect(_) => { Err(errors::ConnectorError::NotImplemented( connector_util::get_unimplemented_payment_method_error_message("stripe"), @@ -1466,6 +1479,11 @@ impl TryFrom<(&domain::WalletData, Option)> for Strip payment_method_data_type: StripePaymentMethodType::Cashapp, }))) } + domain::WalletData::AmazonPayRedirect(_) => Ok(Self::Wallet( + StripeWallet::AmazonpayPayment(AmazonpayPayment { + payment_method_types: StripePaymentMethodType::AmazonPay, + }), + )), domain::WalletData::GooglePay(gpay_data) => Ok(Self::try_from(gpay_data)?), domain::WalletData::PaypalRedirect(_) | domain::WalletData::MobilePayRedirect(_) => { Err(errors::ConnectorError::NotImplemented( @@ -2301,6 +2319,7 @@ pub enum StripePaymentMethodDetailsResponse { Klarna, Affirm, AfterpayClearpay, + AmazonPay, ApplePay, #[serde(rename = "us_bank_account")] Ach, @@ -2348,6 +2367,7 @@ impl StripePaymentMethodDetailsResponse { | Self::Klarna | Self::Affirm | Self::AfterpayClearpay + | Self::AmazonPay | Self::ApplePay | Self::Ach | Self::Sepa @@ -2664,6 +2684,7 @@ impl | Some(StripePaymentMethodDetailsResponse::Klarna) | Some(StripePaymentMethodDetailsResponse::Affirm) | Some(StripePaymentMethodDetailsResponse::AfterpayClearpay) + | Some(StripePaymentMethodDetailsResponse::AmazonPay) | Some(StripePaymentMethodDetailsResponse::ApplePay) | Some(StripePaymentMethodDetailsResponse::Ach) | Some(StripePaymentMethodDetailsResponse::Sepa) @@ -3273,6 +3294,7 @@ pub enum StripePaymentMethodOptions { Klarna {}, Affirm {}, AfterpayClearpay {}, + AmazonPay {}, Eps {}, Giropay {}, Ideal {}, diff --git a/crates/router/src/connector/utils.rs b/crates/router/src/connector/utils.rs index cbf1867b08..c4824d6583 100644 --- a/crates/router/src/connector/utils.rs +++ b/crates/router/src/connector/utils.rs @@ -2744,6 +2744,7 @@ pub enum PaymentMethodDataType { AliPayQr, AliPayRedirect, AliPayHkRedirect, + AmazonPayRedirect, MomoRedirect, KakaoPayRedirect, GoPayRedirect, @@ -2862,6 +2863,7 @@ impl From for PaymentMethodDataType { domain::payments::WalletData::AliPayQr(_) => Self::AliPayQr, domain::payments::WalletData::AliPayRedirect(_) => Self::AliPayRedirect, domain::payments::WalletData::AliPayHkRedirect(_) => Self::AliPayHkRedirect, + domain::payments::WalletData::AmazonPayRedirect(_) => Self::AmazonPayRedirect, domain::payments::WalletData::MomoRedirect(_) => Self::MomoRedirect, domain::payments::WalletData::KakaoPayRedirect(_) => Self::KakaoPayRedirect, domain::payments::WalletData::GoPayRedirect(_) => Self::GoPayRedirect, diff --git a/crates/router/src/core/payments/helpers.rs b/crates/router/src/core/payments/helpers.rs index b0df22f3d0..db12a6282c 100644 --- a/crates/router/src/core/payments/helpers.rs +++ b/crates/router/src/core/payments/helpers.rs @@ -2740,7 +2740,8 @@ pub fn validate_payment_method_type_against_payment_method( ), api_enums::PaymentMethod::Wallet => matches!( payment_method_type, - api_enums::PaymentMethodType::ApplePay + api_enums::PaymentMethodType::AmazonPay + | api_enums::PaymentMethodType::ApplePay | api_enums::PaymentMethodType::GooglePay | api_enums::PaymentMethodType::Paypal | api_enums::PaymentMethodType::AliPay diff --git a/crates/router/src/types/transformers.rs b/crates/router/src/types/transformers.rs index 2a287a337c..c8222163b5 100644 --- a/crates/router/src/types/transformers.rs +++ b/crates/router/src/types/transformers.rs @@ -453,7 +453,8 @@ impl ForeignFrom for Option { impl ForeignFrom for api_enums::PaymentMethod { fn foreign_from(payment_method_type: api_enums::PaymentMethodType) -> Self { match payment_method_type { - api_enums::PaymentMethodType::ApplePay + api_enums::PaymentMethodType::AmazonPay + | api_enums::PaymentMethodType::ApplePay | api_enums::PaymentMethodType::GooglePay | api_enums::PaymentMethodType::Paypal | api_enums::PaymentMethodType::AliPay