feat(connector): [AIRWALLEX] Added Ideal & Skrill payment methods (#8535)

Co-authored-by: Vani Gupta <vani.gupta@juspay.in>
Co-authored-by: Sayak Bhattacharya <sayakofficial21@gmail.com>
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Vani Gupta
2025-07-24 12:43:23 +05:30
committed by GitHub
parent 3159071839
commit 15d589d27b
40 changed files with 617 additions and 55 deletions

View File

@ -1577,7 +1577,21 @@ fn get_bank_redirect_required_fields() -> HashMap<enums::PaymentMethodType, Conn
),
(
enums::PaymentMethodType::Trustly,
connectors(vec![(Connector::Adyen, fields(vec![], vec![], vec![]))]),
connectors(vec![
(Connector::Adyen, fields(vec![], vec![], vec![])),
(
Connector::Airwallex,
RequiredFieldFinal {
mandate: HashMap::new(),
non_mandate: HashMap::from([
RequiredField::BillingUserFirstName.to_tuple(),
RequiredField::BillingUserLastName.to_tuple(),
RequiredField::BillingAddressCountries(vec!["ALL"]).to_tuple(),
]),
common: HashMap::new(),
},
),
]),
),
(
enums::PaymentMethodType::OnlineBankingCzechRepublic,
@ -2208,6 +2222,17 @@ fn get_bank_redirect_required_fields() -> HashMap<enums::PaymentMethodType, Conn
]),
},
),
(
Connector::Airwallex,
RequiredFieldFinal {
mandate: HashMap::new(),
non_mandate: HashMap::from([
RequiredField::BillingUserFirstName.to_tuple(),
RequiredField::BillingUserLastName.to_tuple(),
]),
common: HashMap::new(),
},
),
]),
),
])
@ -2567,6 +2592,18 @@ fn get_wallet_required_fields() -> HashMap<enums::PaymentMethodType, ConnectorFi
]),
},
),
(
Connector::Airwallex,
RequiredFieldFinal {
mandate: HashMap::new(),
non_mandate: HashMap::from([
RequiredField::BillingUserFirstName.to_tuple(),
RequiredField::BillingUserLastName.to_tuple(),
RequiredField::BillingAddressCountries(vec!["ALL"]).to_tuple(),
]),
common: HashMap::new(),
},
),
]),
),
(
@ -2616,6 +2653,22 @@ fn get_wallet_required_fields() -> HashMap<enums::PaymentMethodType, ConnectorFi
),
)]),
),
(
enums::PaymentMethodType::Skrill,
connectors(vec![(
Connector::Airwallex,
RequiredFieldFinal {
mandate: HashMap::new(),
non_mandate: HashMap::from([
RequiredField::BillingUserFirstName.to_tuple(),
RequiredField::BillingUserLastName.to_tuple(),
RequiredField::BillingAddressCountries(vec!["ALL"]).to_tuple(),
RequiredField::BillingEmail.to_tuple(),
]),
common: HashMap::new(),
},
)]),
),
])
}
@ -2732,6 +2785,17 @@ fn get_pay_later_required_fields() -> HashMap<enums::PaymentMethodType, Connecto
])],
),
),
(
Connector::Airwallex,
RequiredFieldFinal {
mandate: HashMap::new(),
non_mandate: HashMap::from([RequiredField::BillingAddressCountries(vec![
"ALL",
])
.to_tuple()]),
common: HashMap::new(),
},
),
]),
),
(
@ -2834,26 +2898,39 @@ fn get_pay_later_required_fields() -> HashMap<enums::PaymentMethodType, Connecto
),
(
enums::PaymentMethodType::Atome,
connectors(vec![(
Connector::Adyen,
RequiredFieldFinal {
mandate: HashMap::new(),
non_mandate: HashMap::from([
RequiredField::BillingUserFirstName.to_tuple(),
RequiredField::BillingUserLastName.to_tuple(),
RequiredField::BillingAddressCity.to_tuple(),
RequiredField::BillingAddressState.to_tuple(),
RequiredField::BillingAddressZip.to_tuple(),
RequiredField::BillingAddressCountries(vec!["MY", "SG"]).to_tuple(),
RequiredField::BillingPhone.to_tuple(),
RequiredField::BillingPhoneCountryCode.to_tuple(),
RequiredField::BillingEmail.to_tuple(),
RequiredField::BillingAddressLine1.to_tuple(),
RequiredField::BillingAddressLine2.to_tuple(),
]),
common: HashMap::new(),
},
)]),
connectors(vec![
(
Connector::Adyen,
RequiredFieldFinal {
mandate: HashMap::new(),
non_mandate: HashMap::from([
RequiredField::BillingUserFirstName.to_tuple(),
RequiredField::BillingUserLastName.to_tuple(),
RequiredField::BillingAddressCity.to_tuple(),
RequiredField::BillingAddressState.to_tuple(),
RequiredField::BillingAddressZip.to_tuple(),
RequiredField::BillingAddressCountries(vec!["MY", "SG"]).to_tuple(),
RequiredField::BillingPhone.to_tuple(),
RequiredField::BillingPhoneCountryCode.to_tuple(),
RequiredField::BillingEmail.to_tuple(),
RequiredField::BillingAddressLine1.to_tuple(),
RequiredField::BillingAddressLine2.to_tuple(),
]),
common: HashMap::new(),
},
),
(
Connector::Airwallex,
RequiredFieldFinal {
mandate: HashMap::new(),
non_mandate: HashMap::from([
RequiredField::BillingPhone.to_tuple(),
RequiredField::BillingPhoneCountryCode.to_tuple(),
]),
common: HashMap::new(),
},
),
]),
),
])
}

View File

@ -169,6 +169,7 @@ pub fn validate_payment_method_type_against_payment_method(
| api_enums::PaymentMethodType::InstantBankTransfer
| api_enums::PaymentMethodType::InstantBankTransferFinland
| api_enums::PaymentMethodType::InstantBankTransferPoland
| api_enums::PaymentMethodType::IndonesianBankTransfer
),
api_enums::PaymentMethod::BankDebit => matches!(
payment_method_type,