refactor(pm_list): Update required fields for a payment method (#1720)

This commit is contained in:
Prasunna Soppa
2023-07-17 01:22:05 +05:30
committed by GitHub
parent 9890570274
commit 8dd9fcc2c5
3 changed files with 386 additions and 240 deletions

View File

@ -394,11 +394,12 @@ pub enum FieldType {
UserAddressCity,
UserAddressPincode,
UserAddressState,
UserAddressCountry,
UserAddressCountry { options: Vec<String> },
UserBlikCode,
FieldsComplete,
UserBillingName,
UserBank,
UserBank { options: Vec<String> },
UserCurrency { options: Vec<String> },
Text,
DropDown { options: Vec<String> },
}

View File

@ -230,7 +230,8 @@ impl Default for super::settings::RequiredFields {
Self(HashMap::from([
(
enums::PaymentMethod::Card,
PaymentMethodType(HashMap::from([(
PaymentMethodType(HashMap::from([
(
enums::PaymentMethodType::Debit,
ConnectorFields {
fields: HashMap::from([
@ -254,18 +255,13 @@ impl Default for super::settings::RequiredFields {
required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
}
],
),
(
enums::Connector::Bambora,
vec![RequiredFieldInfo {
required_field: "card.card_holder_name".to_string(),
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
@ -285,9 +281,9 @@ impl Default for super::settings::RequiredFields {
},
RequiredFieldInfo {
required_field: "billing.phone.country_code".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
display_name: "country_code".to_string(),
field_type: enums::FieldType::DropDown {
options: vec!["ALL".to_string()],
},
},
RequiredFieldInfo {
@ -295,11 +291,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.line1".to_string(),
display_name: "line1".to_string(),
@ -323,8 +314,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec!["ALL".to_string()],
},
},
],
@ -333,7 +324,7 @@ impl Default for super::settings::RequiredFields {
enums::Connector::Dlocal,
vec![
RequiredFieldInfo {
required_field: "card.card_holder_name".to_string(),
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
},
@ -345,27 +336,22 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec!["ALL".to_string()],
},
},
RequiredFieldInfo {
required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
}
],
),
(
enums::Connector::Forte,
vec![
RequiredFieldInfo {
required_field: "card.card_holder_name".to_string(),
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
},
@ -373,12 +359,7 @@ impl Default for super::settings::RequiredFields {
required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
}
],
),
(
@ -386,7 +367,7 @@ impl Default for super::settings::RequiredFields {
vec![RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
field_type: enums::FieldType::UserAddressCountry {
options: vec!["US".to_string(), "IN".to_string()],
},
}],
@ -396,8 +377,8 @@ impl Default for super::settings::RequiredFields {
vec![RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec!["AT".to_string(), "BE".to_string(), "DE".to_string(), "ES".to_string(), "FI".to_string(), "GB".to_string(), "IN".to_string(), "IT".to_string(), "NL".to_string(), "PT".to_string() ],
},
}],
),
@ -409,11 +390,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.line1".to_string(),
display_name: "line1".to_string(),
@ -437,8 +413,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry{
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry{
options: vec!["ALL".to_string()],
},
},
],
@ -446,31 +422,15 @@ impl Default for super::settings::RequiredFields {
(
enums::Connector::Noon,
vec![RequiredFieldInfo {
required_field: "card.card_holder_name".to_string(),
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
),
(
enums::Connector::Opennode,
vec![RequiredFieldInfo {
required_field: "description".to_string(),
display_name: "description".to_string(),
field_type: enums::FieldType::Text,
}],
),
(
enums::Connector::Payu,
vec![RequiredFieldInfo {
required_field: "description".to_string(),
display_name: "description".to_string(),
field_type: enums::FieldType::Text,
}],
),
(
enums::Connector::Rapyd,
vec![RequiredFieldInfo {
required_field: "card.card_holder_name".to_string(),
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
@ -478,7 +438,7 @@ impl Default for super::settings::RequiredFields {
(
enums::Connector::Shift4,
vec![RequiredFieldInfo {
required_field: "card.card_holder_name".to_string(),
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
@ -487,7 +447,7 @@ impl Default for super::settings::RequiredFields {
enums::Connector::Trustpay,
vec![
RequiredFieldInfo {
required_field: "card.card_holder_name".to_string(),
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
},
@ -509,8 +469,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec!["ALL".to_string()],
},
},
RequiredFieldInfo {
@ -518,17 +478,12 @@ impl Default for super::settings::RequiredFields {
display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress,
},
RequiredFieldInfo {
required_field: "browser_info".to_string(),
display_name: "browser_info".to_string(),
field_type: enums::FieldType::Text,
},
],
),
(
enums::Connector::Worldline,
vec![RequiredFieldInfo {
required_field: "card.card_holder_name".to_string(),
required_field: "payment_method_datacard.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
@ -541,26 +496,282 @@ impl Default for super::settings::RequiredFields {
display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress,
},
],
),
]),
},
),
(
enums::PaymentMethodType::Credit,
ConnectorFields {
fields: HashMap::from([
(
enums::Connector::Aci,
vec![RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
),
(
enums::Connector::Bluesnap,
vec![
RequiredFieldInfo {
required_field: "browser_info".to_string(),
display_name: "browser_info".to_string(),
field_type: enums::FieldType::Text,
required_field: "email".to_string(),
display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress,
},
RequiredFieldInfo {
required_field: "description".to_string(),
display_name: "description".to_string(),
field_type: enums::FieldType::Text,
required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
}
],
),
(
enums::Connector::Bambora,
vec![RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
),
(
enums::Connector::Cybersource,
vec![
RequiredFieldInfo {
required_field: "email".to_string(),
display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress,
},
RequiredFieldInfo {
required_field: "metadata.order_details".to_string(),
display_name: "order_details".to_string(),
field_type: enums::FieldType::Text,
required_field: "billing.phone.number".to_string(),
display_name: "phone_number".to_string(),
field_type: enums::FieldType::UserPhoneNumber,
},
RequiredFieldInfo {
required_field: "billing.phone.country_code".to_string(),
display_name: "country_code".to_string(),
field_type: enums::FieldType::DropDown {
options: vec!["ALL".to_string()],
},
},
RequiredFieldInfo {
required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.line1".to_string(),
display_name: "line1".to_string(),
field_type: enums::FieldType::UserAddressline1,
},
RequiredFieldInfo {
required_field: "billing.address.city".to_string(),
display_name: "city".to_string(),
field_type: enums::FieldType::UserAddressCity,
},
RequiredFieldInfo {
required_field: "billing.address.state".to_string(),
display_name: "state".to_string(),
field_type: enums::FieldType::UserAddressState,
},
RequiredFieldInfo {
required_field: "billing.address.zip".to_string(),
display_name: "zip".to_string(),
field_type: enums::FieldType::UserAddressPincode,
},
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserAddressCountry {
options: vec!["ALL".to_string()],
},
},
],
),
(
enums::Connector::Dlocal,
vec![
RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
},
RequiredFieldInfo {
required_field: "email".to_string(),
display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress,
},
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserAddressCountry {
options: vec!["ALL".to_string()],
},
},
RequiredFieldInfo {
required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
}
],
),
(
enums::Connector::Forte,
vec![
RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
},
RequiredFieldInfo {
required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
}
],
),
(
enums::Connector::Globalpay,
vec![RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserAddressCountry {
options: vec!["US".to_string(), "IN".to_string()],
},
}],
),
(
enums::Connector::Iatapay,
vec![RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserAddressCountry {
options: vec!["AT".to_string(), "BE".to_string(), "DE".to_string(), "ES".to_string(), "FI".to_string(), "GB".to_string(), "IN".to_string(), "IT".to_string(), "NL".to_string(), "PT".to_string() ],
},
}],
),
(
enums::Connector::Multisafepay,
vec![
RequiredFieldInfo {
required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.line1".to_string(),
display_name: "line1".to_string(),
field_type: enums::FieldType::UserAddressline1,
},
RequiredFieldInfo {
required_field: "billing.address.line2".to_string(),
display_name: "line2".to_string(),
field_type: enums::FieldType::UserAddressline2,
},
RequiredFieldInfo {
required_field: "billing.address.city".to_string(),
display_name: "city".to_string(),
field_type: enums::FieldType::UserAddressCity,
},
RequiredFieldInfo {
required_field: "billing.address.zip".to_string(),
display_name: "zip".to_string(),
field_type: enums::FieldType::UserAddressPincode,
},
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserAddressCountry{
options: vec!["ALL".to_string()],
},
},
],
),
(
enums::Connector::Noon,
vec![RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
),
(
enums::Connector::Rapyd,
vec![RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
),
(
enums::Connector::Shift4,
vec![RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
),
(
enums::Connector::Trustpay,
vec![
RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
},
RequiredFieldInfo {
required_field: "billing.address.line1".to_string(),
display_name: "line1".to_string(),
field_type: enums::FieldType::UserAddressline1,
},
RequiredFieldInfo {
required_field: "billing.address.city".to_string(),
display_name: "city".to_string(),
field_type: enums::FieldType::UserAddressCity,
},
RequiredFieldInfo {
required_field: "billing.address.zip".to_string(),
display_name: "zip".to_string(),
field_type: enums::FieldType::UserAddressPincode,
},
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserAddressCountry {
options: vec!["ALL".to_string()],
},
},
RequiredFieldInfo {
required_field: "email".to_string(),
display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress,
},
],
),
(
enums::Connector::Worldline,
vec![RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],
),
(
enums::Connector::Zen,
vec![
RequiredFieldInfo {
required_field: "email".to_string(),
display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress,
},
],
),
]),
},
)])),
),
])),
),
(
enums::PaymentMethod::BankRedirect,
@ -573,7 +784,7 @@ impl Default for super::settings::RequiredFields {
vec![RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.przelewy24.bank_name".to_string(),
display_name: "bank_name".to_string(),
field_type: enums::FieldType::UserBank,
field_type: enums::FieldType::UserBank { options: vec![ "ALL".to_string()] },
}],
)]),
},
@ -594,26 +805,7 @@ impl Default for super::settings::RequiredFields {
enums::Connector::Adyen,
vec![
RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.bancontact_card.card_number"
.to_string(),
display_name: "card_number".to_string(),
field_type: enums::FieldType::Text,
},
RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.bancontact_card.card_exp_month"
.to_string(),
display_name: "card_exp_month".to_string(),
field_type: enums::FieldType::Text,
},
RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.bancontact_card.card_exp_year"
.to_string(),
display_name: "card_exp_year".to_string(),
field_type: enums::FieldType::Text,
},
RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.bancontact_card.card_holder_name"
.to_string(),
required_field: "payment_method_data.bank_redirect.bancontact_card.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
},
@ -646,8 +838,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec![],
},
},
],
@ -664,7 +856,7 @@ impl Default for super::settings::RequiredFields {
vec![RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.ideal.bank_name".to_string(),
display_name: "bank_name".to_string(),
field_type: enums::FieldType::UserBank,
field_type: enums::FieldType::UserBank { options: vec!["ALL".to_string()] },
}],
),
(
@ -673,7 +865,7 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.ideal.bank_name".to_string(),
display_name: "bank_name".to_string(),
field_type: enums::FieldType::UserBank,
field_type: enums::FieldType::UserBank { options: vec!["ALL".to_string()] },
},
RequiredFieldInfo {
required_field: "billing.address.first_name"
@ -681,11 +873,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "email".to_string(),
display_name: "email".to_string(),
@ -694,8 +881,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec![],
},
},
],
@ -714,11 +901,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "email".to_string(),
display_name: "email".to_string(),
@ -727,8 +909,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec![],
},
},
],
@ -746,11 +928,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "email".to_string(),
display_name: "email".to_string(),
@ -759,8 +936,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec![],
},
},
],
@ -772,48 +949,10 @@ impl Default for super::settings::RequiredFields {
(
enums::PaymentMethod::Wallet,
PaymentMethodType(HashMap::from([
(
enums::PaymentMethodType::ApplePay,
ConnectorFields {
fields: HashMap::from([
(
enums::Connector::Bluesnap,
vec![RequiredFieldInfo {
required_field: "billing_address".to_string(),
display_name: "billing_address".to_string(),
field_type: enums::FieldType::Text,
}],
),
(
enums::Connector::Zen,
vec![RequiredFieldInfo {
required_field: "metadata.order_details".to_string(),
display_name: "order_details".to_string(),
field_type: enums::FieldType::Text,
}],
),
]),
},
),
(
enums::PaymentMethodType::Paypal,
ConnectorFields {
fields: HashMap::from([
(
enums::Connector::Mollie,
vec![
RequiredFieldInfo {
required_field: "billing_address".to_string(),
display_name: "billing_address".to_string(),
field_type: enums::FieldType::Text,
},
RequiredFieldInfo {
required_field: "shipping_address".to_string(),
display_name: "shipping_address".to_string(),
field_type: enums::FieldType::Text,
},
],
),
(
enums::Connector::Nuvei,
vec![
@ -825,8 +964,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec!["ALL".to_string()],
},
},
],
@ -834,45 +973,6 @@ impl Default for super::settings::RequiredFields {
]),
},
),
(
enums::PaymentMethodType::GooglePay,
ConnectorFields {
fields: HashMap::from([(
enums::Connector::Zen,
vec![RequiredFieldInfo {
required_field: "metadata.order_details".to_string(),
display_name: "order_details".to_string(),
field_type: enums::FieldType::Text,
}],
)]),
},
),
(
enums::PaymentMethodType::AliPay,
ConnectorFields {
fields: HashMap::from([(
enums::Connector::Globepay,
vec![RequiredFieldInfo {
required_field: "description".to_string(),
display_name: "description".to_string(),
field_type: enums::FieldType::Text,
}],
)]),
},
),
(
enums::PaymentMethodType::WeChatPay,
ConnectorFields {
fields: HashMap::from([(
enums::Connector::Globepay,
vec![RequiredFieldInfo {
required_field: "description".to_string(),
display_name: "description".to_string(),
field_type: enums::FieldType::Text,
}],
)]),
},
),
])),
),
(
@ -889,24 +989,24 @@ impl Default for super::settings::RequiredFields {
required_field: "shipping.address.first_name"
.to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::Text,
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "shipping.address.line1".to_string(),
display_name: "line1".to_string(),
field_type: enums::FieldType::Text,
field_type: enums::FieldType::UserAddressline1,
},
RequiredFieldInfo {
required_field: "shipping.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::DropDown {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec![],
},
},
RequiredFieldInfo {
required_field: "shipping.address.zip".to_string(),
display_name: "zip".to_string(),
field_type: enums::FieldType::Text,
field_type: enums::FieldType::UserAddressPincode,
},
],
),
@ -917,24 +1017,24 @@ impl Default for super::settings::RequiredFields {
required_field: "shipping.address.first_name"
.to_string(),
display_name: "first_name".to_string(),
field_type: enums::FieldType::Text,
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "shipping.address.line1".to_string(),
display_name: "line1".to_string(),
field_type: enums::FieldType::Text,
field_type: enums::FieldType::UserAddressline1,
},
RequiredFieldInfo {
required_field: "shipping.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::DropDown {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec!["ALL".to_string()],
},
},
RequiredFieldInfo {
required_field: "shipping.address.zip".to_string(),
display_name: "zip".to_string(),
field_type: enums::FieldType::Text,
field_type: enums::FieldType::UserAddressPincode,
},
],
),
@ -947,11 +1047,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "email".to_string(),
display_name: "email".to_string(),
@ -960,8 +1055,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
field_type: enums::FieldType::UserAddressCountry {
options: vec!["ALL".to_string()],
},
},
],
@ -980,11 +1075,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "billing.address.last_name".to_string(),
display_name: "last_name".to_string(),
field_type: enums::FieldType::UserBillingName,
},
RequiredFieldInfo {
required_field: "email".to_string(),
display_name: "email".to_string(),
@ -994,7 +1084,8 @@ impl Default for super::settings::RequiredFields {
required_field: "billing.address.country".to_string(),
display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()],
options: vec!["US".to_string(), "GB".to_string(), "DE".to_string(), "AT".to_string(),
"DK".to_string(), "FI".to_string(), "NL".to_string(), "NO".to_string(), "SE".to_string()],
},
},
],
@ -1013,7 +1104,7 @@ impl Default for super::settings::RequiredFields {
vec![RequiredFieldInfo {
required_field: "payment_method_data.crypto.pay_currency".to_string(),
display_name: "currency".to_string(),
field_type: enums::FieldType::DropDown {
field_type: enums::FieldType::UserCurrency{
options: vec![
"BTC".to_string(),
"LTC".to_string(),
@ -1047,7 +1138,7 @@ impl Default for super::settings::RequiredFields {
(
enums::Connector::Adyen,
vec![RequiredFieldInfo {
required_field: "card_holder_name".to_string(),
required_field: "payment_method_data.bank_debit.ach_bank_debit.card_holder_name".to_string(),
display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName,
}],

View File

@ -4115,10 +4115,26 @@
]
},
{
"type": "string",
"enum": [
"type": "object",
"required": [
"user_address_country"
]
],
"properties": {
"user_address_country": {
"type": "object",
"required": [
"options"
],
"properties": {
"options": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
{
"type": "string",
@ -4139,10 +4155,48 @@
]
},
{
"type": "string",
"enum": [
"type": "object",
"required": [
"user_bank"
]
],
"properties": {
"user_bank": {
"type": "object",
"required": [
"options"
],
"properties": {
"options": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
{
"type": "object",
"required": [
"user_currency"
],
"properties": {
"user_currency": {
"type": "object",
"required": [
"options"
],
"properties": {
"options": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
{
"type": "string",