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, UserAddressCity,
UserAddressPincode, UserAddressPincode,
UserAddressState, UserAddressState,
UserAddressCountry, UserAddressCountry { options: Vec<String> },
UserBlikCode, UserBlikCode,
FieldsComplete, FieldsComplete,
UserBillingName, UserBillingName,
UserBank, UserBank { options: Vec<String> },
UserCurrency { options: Vec<String> },
Text, Text,
DropDown { options: Vec<String> }, DropDown { options: Vec<String> },
} }

View File

@ -230,7 +230,8 @@ impl Default for super::settings::RequiredFields {
Self(HashMap::from([ Self(HashMap::from([
( (
enums::PaymentMethod::Card, enums::PaymentMethod::Card,
PaymentMethodType(HashMap::from([( PaymentMethodType(HashMap::from([
(
enums::PaymentMethodType::Debit, enums::PaymentMethodType::Debit,
ConnectorFields { ConnectorFields {
fields: HashMap::from([ fields: HashMap::from([
@ -254,18 +255,13 @@ impl Default for super::settings::RequiredFields {
required_field: "billing.address.first_name".to_string(), required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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, enums::Connector::Bambora,
vec![RequiredFieldInfo { 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(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}], }],
@ -285,9 +281,9 @@ impl Default for super::settings::RequiredFields {
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.phone.country_code".to_string(), required_field: "billing.phone.country_code".to_string(),
display_name: "country".to_string(), display_name: "country_code".to_string(),
field_type: enums::FieldType::UserCountry { field_type: enums::FieldType::DropDown {
options: vec!["US".to_string(), "IN".to_string()], options: vec!["ALL".to_string()],
}, },
}, },
RequiredFieldInfo { RequiredFieldInfo {
@ -295,11 +291,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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 { RequiredFieldInfo {
required_field: "billing.address.line1".to_string(), required_field: "billing.address.line1".to_string(),
display_name: "line1".to_string(), display_name: "line1".to_string(),
@ -323,8 +314,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec!["ALL".to_string()],
}, },
}, },
], ],
@ -333,7 +324,7 @@ impl Default for super::settings::RequiredFields {
enums::Connector::Dlocal, enums::Connector::Dlocal,
vec![ vec![
RequiredFieldInfo { 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(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}, },
@ -345,27 +336,22 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec!["ALL".to_string()],
}, },
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.first_name".to_string(), required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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, enums::Connector::Forte,
vec![ vec![
RequiredFieldInfo { 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(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}, },
@ -373,12 +359,7 @@ impl Default for super::settings::RequiredFields {
required_field: "billing.address.first_name".to_string(), required_field: "billing.address.first_name".to_string(),
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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 { vec![RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec!["US".to_string(), "IN".to_string()],
}, },
}], }],
@ -396,8 +377,8 @@ impl Default for super::settings::RequiredFields {
vec![RequiredFieldInfo { vec![RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], 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(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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 { RequiredFieldInfo {
required_field: "billing.address.line1".to_string(), required_field: "billing.address.line1".to_string(),
display_name: "line1".to_string(), display_name: "line1".to_string(),
@ -437,8 +413,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec!["ALL".to_string()],
}, },
}, },
], ],
@ -446,31 +422,15 @@ impl Default for super::settings::RequiredFields {
( (
enums::Connector::Noon, enums::Connector::Noon,
vec![RequiredFieldInfo { 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(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, 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, enums::Connector::Rapyd,
vec![RequiredFieldInfo { 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(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}], }],
@ -478,7 +438,7 @@ impl Default for super::settings::RequiredFields {
( (
enums::Connector::Shift4, enums::Connector::Shift4,
vec![RequiredFieldInfo { 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(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}], }],
@ -487,7 +447,7 @@ impl Default for super::settings::RequiredFields {
enums::Connector::Trustpay, enums::Connector::Trustpay,
vec![ vec![
RequiredFieldInfo { 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(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}, },
@ -509,8 +469,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec!["ALL".to_string()],
}, },
}, },
RequiredFieldInfo { RequiredFieldInfo {
@ -518,17 +478,12 @@ impl Default for super::settings::RequiredFields {
display_name: "email".to_string(), display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress, 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, enums::Connector::Worldline,
vec![RequiredFieldInfo { 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(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}], }],
@ -541,26 +496,282 @@ impl Default for super::settings::RequiredFields {
display_name: "email".to_string(), display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress, 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 { RequiredFieldInfo {
required_field: "browser_info".to_string(), required_field: "email".to_string(),
display_name: "browser_info".to_string(), display_name: "email".to_string(),
field_type: enums::FieldType::Text, field_type: enums::FieldType::UserEmailAddress,
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "description".to_string(), required_field: "billing.address.first_name".to_string(),
display_name: "description".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::Text, 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 { RequiredFieldInfo {
required_field: "metadata.order_details".to_string(), required_field: "billing.phone.number".to_string(),
display_name: "order_details".to_string(), display_name: "phone_number".to_string(),
field_type: enums::FieldType::Text, 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, enums::PaymentMethod::BankRedirect,
@ -573,7 +784,7 @@ impl Default for super::settings::RequiredFields {
vec![RequiredFieldInfo { vec![RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.przelewy24.bank_name".to_string(), required_field: "payment_method_data.bank_redirect.przelewy24.bank_name".to_string(),
display_name: "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, enums::Connector::Adyen,
vec![ vec![
RequiredFieldInfo { RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.bancontact_card.card_number" required_field: "payment_method_data.bank_redirect.bancontact_card.card_holder_name".to_string(),
.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(),
display_name: "card_holder_name".to_string(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}, },
@ -646,8 +838,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec![],
}, },
}, },
], ],
@ -664,7 +856,7 @@ impl Default for super::settings::RequiredFields {
vec![RequiredFieldInfo { vec![RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.ideal.bank_name".to_string(), required_field: "payment_method_data.bank_redirect.ideal.bank_name".to_string(),
display_name: "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 { RequiredFieldInfo {
required_field: "payment_method_data.bank_redirect.ideal.bank_name".to_string(), required_field: "payment_method_data.bank_redirect.ideal.bank_name".to_string(),
display_name: "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 { RequiredFieldInfo {
required_field: "billing.address.first_name" required_field: "billing.address.first_name"
@ -681,11 +873,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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 { RequiredFieldInfo {
required_field: "email".to_string(), required_field: "email".to_string(),
display_name: "email".to_string(), display_name: "email".to_string(),
@ -694,8 +881,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec![],
}, },
}, },
], ],
@ -714,11 +901,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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 { RequiredFieldInfo {
required_field: "email".to_string(), required_field: "email".to_string(),
display_name: "email".to_string(), display_name: "email".to_string(),
@ -727,8 +909,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec![],
}, },
}, },
], ],
@ -746,11 +928,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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 { RequiredFieldInfo {
required_field: "email".to_string(), required_field: "email".to_string(),
display_name: "email".to_string(), display_name: "email".to_string(),
@ -759,8 +936,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec![],
}, },
}, },
], ],
@ -772,48 +949,10 @@ impl Default for super::settings::RequiredFields {
( (
enums::PaymentMethod::Wallet, enums::PaymentMethod::Wallet,
PaymentMethodType(HashMap::from([ 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, enums::PaymentMethodType::Paypal,
ConnectorFields { ConnectorFields {
fields: HashMap::from([ 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, enums::Connector::Nuvei,
vec![ vec![
@ -825,8 +964,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], 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" required_field: "shipping.address.first_name"
.to_string(), .to_string(),
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::Text, field_type: enums::FieldType::UserBillingName,
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "shipping.address.line1".to_string(), required_field: "shipping.address.line1".to_string(),
display_name: "line1".to_string(), display_name: "line1".to_string(),
field_type: enums::FieldType::Text, field_type: enums::FieldType::UserAddressline1,
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "shipping.address.country".to_string(), required_field: "shipping.address.country".to_string(),
display_name: "country".to_string(), display_name: "country".to_string(),
field_type: enums::FieldType::DropDown { field_type: enums::FieldType::UserAddressCountry {
options: vec!["US".to_string(), "IN".to_string()], options: vec![],
}, },
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "shipping.address.zip".to_string(), required_field: "shipping.address.zip".to_string(),
display_name: "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" required_field: "shipping.address.first_name"
.to_string(), .to_string(),
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::Text, field_type: enums::FieldType::UserBillingName,
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "shipping.address.line1".to_string(), required_field: "shipping.address.line1".to_string(),
display_name: "line1".to_string(), display_name: "line1".to_string(),
field_type: enums::FieldType::Text, field_type: enums::FieldType::UserAddressline1,
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "shipping.address.country".to_string(), required_field: "shipping.address.country".to_string(),
display_name: "country".to_string(), display_name: "country".to_string(),
field_type: enums::FieldType::DropDown { field_type: enums::FieldType::UserAddressCountry {
options: vec!["US".to_string(), "IN".to_string()], options: vec!["ALL".to_string()],
}, },
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "shipping.address.zip".to_string(), required_field: "shipping.address.zip".to_string(),
display_name: "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(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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 { RequiredFieldInfo {
required_field: "email".to_string(), required_field: "email".to_string(),
display_name: "email".to_string(), display_name: "email".to_string(),
@ -960,8 +1055,8 @@ impl Default for super::settings::RequiredFields {
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.country".to_string(), required_field: "billing.address.country".to_string(),
display_name: "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()], options: vec!["ALL".to_string()],
}, },
}, },
], ],
@ -980,11 +1075,6 @@ impl Default for super::settings::RequiredFields {
display_name: "first_name".to_string(), display_name: "first_name".to_string(),
field_type: enums::FieldType::UserBillingName, 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 { RequiredFieldInfo {
required_field: "email".to_string(), required_field: "email".to_string(),
display_name: "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(), required_field: "billing.address.country".to_string(),
display_name: "country".to_string(), display_name: "country".to_string(),
field_type: enums::FieldType::UserCountry { 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 { vec![RequiredFieldInfo {
required_field: "payment_method_data.crypto.pay_currency".to_string(), required_field: "payment_method_data.crypto.pay_currency".to_string(),
display_name: "currency".to_string(), display_name: "currency".to_string(),
field_type: enums::FieldType::DropDown { field_type: enums::FieldType::UserCurrency{
options: vec![ options: vec![
"BTC".to_string(), "BTC".to_string(),
"LTC".to_string(), "LTC".to_string(),
@ -1047,7 +1138,7 @@ impl Default for super::settings::RequiredFields {
( (
enums::Connector::Adyen, enums::Connector::Adyen,
vec![RequiredFieldInfo { 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(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}], }],

View File

@ -4115,10 +4115,26 @@
] ]
}, },
{ {
"type": "string", "type": "object",
"enum": [ "required": [
"user_address_country" "user_address_country"
] ],
"properties": {
"user_address_country": {
"type": "object",
"required": [
"options"
],
"properties": {
"options": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}, },
{ {
"type": "string", "type": "string",
@ -4139,10 +4155,48 @@
] ]
}, },
{ {
"type": "string", "type": "object",
"enum": [ "required": [
"user_bank" "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", "type": "string",