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

Co-authored-by: Tinu Hareesswar <tinuhareesswarr@gmail.com>
This commit is contained in:
Prasunna Soppa
2023-07-17 13:08:56 +05:30
committed by GitHub
parent 714cd275b3
commit c6f745540f
3 changed files with 240 additions and 386 deletions

View File

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

View File

@ -230,8 +230,7 @@ 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([
@ -255,13 +254,18 @@ 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: "payment_method_data.card.card_holder_name".to_string(), required_field: "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,
}], }],
@ -281,9 +285,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_code".to_string(), display_name: "country".to_string(),
field_type: enums::FieldType::DropDown { field_type: enums::FieldType::UserCountry {
options: vec!["ALL".to_string()], options: vec!["US".to_string(), "IN".to_string()],
}, },
}, },
RequiredFieldInfo { RequiredFieldInfo {
@ -291,6 +295,11 @@ 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(),
@ -314,8 +323,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec!["ALL".to_string()], options: vec!["US".to_string(), "IN".to_string()],
}, },
}, },
], ],
@ -324,7 +333,7 @@ impl Default for super::settings::RequiredFields {
enums::Connector::Dlocal, enums::Connector::Dlocal,
vec![ vec![
RequiredFieldInfo { RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(), required_field: "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,
}, },
@ -336,22 +345,27 @@ 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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec!["ALL".to_string()], options: vec!["US".to_string(), "IN".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: "payment_method_data.card.card_holder_name".to_string(), required_field: "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,
}, },
@ -359,7 +373,12 @@ 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,
},
], ],
), ),
( (
@ -367,7 +386,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec!["US".to_string(), "IN".to_string()], options: vec!["US".to_string(), "IN".to_string()],
}, },
}], }],
@ -377,8 +396,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
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() ], options: vec!["US".to_string(), "IN".to_string()],
}, },
}], }],
), ),
@ -390,6 +409,11 @@ 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(),
@ -413,294 +437,40 @@ 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::UserAddressCountry{ field_type: enums::FieldType::UserCountry{
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_datacard.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::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: "email".to_string(),
display_name: "email".to_string(),
field_type: enums::FieldType::UserEmailAddress,
},
RequiredFieldInfo {
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: "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()], 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, enums::Connector::Noon,
vec![RequiredFieldInfo { vec![RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(), required_field: "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: "payment_method_data.card.card_holder_name".to_string(), required_field: "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,
}], }],
@ -708,7 +478,7 @@ impl Default for super::settings::RequiredFields {
( (
enums::Connector::Shift4, enums::Connector::Shift4,
vec![RequiredFieldInfo { vec![RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(), required_field: "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,
}], }],
@ -717,7 +487,7 @@ impl Default for super::settings::RequiredFields {
enums::Connector::Trustpay, enums::Connector::Trustpay,
vec![ vec![
RequiredFieldInfo { RequiredFieldInfo {
required_field: "payment_method_data.card.card_holder_name".to_string(), required_field: "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,
}, },
@ -739,8 +509,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec!["ALL".to_string()], options: vec!["US".to_string(), "IN".to_string()],
}, },
}, },
RequiredFieldInfo { RequiredFieldInfo {
@ -748,12 +518,17 @@ 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: "payment_method_data.card.card_holder_name".to_string(), required_field: "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,
}], }],
@ -766,12 +541,26 @@ 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,
},
RequiredFieldInfo {
required_field: "description".to_string(),
display_name: "description".to_string(),
field_type: enums::FieldType::Text,
},
RequiredFieldInfo {
required_field: "metadata.order_details".to_string(),
display_name: "order_details".to_string(),
field_type: enums::FieldType::Text,
},
], ],
), ),
]), ]),
}, },
), )])),
])),
), ),
( (
enums::PaymentMethod::BankRedirect, enums::PaymentMethod::BankRedirect,
@ -784,7 +573,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 { options: vec![ "ALL".to_string()] }, field_type: enums::FieldType::UserBank,
}], }],
)]), )]),
}, },
@ -805,7 +594,26 @@ 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_holder_name".to_string(), 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(),
display_name: "card_holder_name".to_string(), display_name: "card_holder_name".to_string(),
field_type: enums::FieldType::UserFullName, field_type: enums::FieldType::UserFullName,
}, },
@ -838,8 +646,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec![], options: vec!["US".to_string(), "IN".to_string()],
}, },
}, },
], ],
@ -856,7 +664,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 { options: vec!["ALL".to_string()] }, field_type: enums::FieldType::UserBank,
}], }],
), ),
( (
@ -865,7 +673,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 { options: vec!["ALL".to_string()] }, field_type: enums::FieldType::UserBank,
}, },
RequiredFieldInfo { RequiredFieldInfo {
required_field: "billing.address.first_name" required_field: "billing.address.first_name"
@ -873,6 +681,11 @@ 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(),
@ -881,8 +694,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec![], options: vec!["US".to_string(), "IN".to_string()],
}, },
}, },
], ],
@ -901,6 +714,11 @@ 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(),
@ -909,8 +727,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec![], options: vec!["US".to_string(), "IN".to_string()],
}, },
}, },
], ],
@ -928,6 +746,11 @@ 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(),
@ -936,8 +759,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec![], options: vec!["US".to_string(), "IN".to_string()],
}, },
}, },
], ],
@ -949,10 +772,48 @@ 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![
@ -964,8 +825,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec!["ALL".to_string()], options: vec!["US".to_string(), "IN".to_string()],
}, },
}, },
], ],
@ -973,6 +834,45 @@ 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,
}],
)]),
},
),
])), ])),
), ),
( (
@ -989,24 +889,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::UserBillingName, field_type: enums::FieldType::Text,
}, },
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::UserAddressline1, field_type: enums::FieldType::Text,
}, },
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::UserAddressCountry { field_type: enums::FieldType::DropDown {
options: vec![], options: vec!["US".to_string(), "IN".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::UserAddressPincode, field_type: enums::FieldType::Text,
}, },
], ],
), ),
@ -1017,24 +917,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::UserBillingName, field_type: enums::FieldType::Text,
}, },
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::UserAddressline1, field_type: enums::FieldType::Text,
}, },
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::UserAddressCountry { field_type: enums::FieldType::DropDown {
options: vec!["ALL".to_string()], options: vec!["US".to_string(), "IN".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::UserAddressPincode, field_type: enums::FieldType::Text,
}, },
], ],
), ),
@ -1047,6 +947,11 @@ 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(),
@ -1055,8 +960,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::UserAddressCountry { field_type: enums::FieldType::UserCountry {
options: vec!["ALL".to_string()], options: vec!["US".to_string(), "IN".to_string()],
}, },
}, },
], ],
@ -1075,6 +980,11 @@ 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(),
@ -1084,8 +994,7 @@ 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(), "GB".to_string(), "DE".to_string(), "AT".to_string(), options: vec!["US".to_string(), "IN".to_string()],
"DK".to_string(), "FI".to_string(), "NL".to_string(), "NO".to_string(), "SE".to_string()],
}, },
}, },
], ],
@ -1104,7 +1013,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::UserCurrency{ field_type: enums::FieldType::DropDown {
options: vec![ options: vec![
"BTC".to_string(), "BTC".to_string(),
"LTC".to_string(), "LTC".to_string(),
@ -1138,7 +1047,7 @@ impl Default for super::settings::RequiredFields {
( (
enums::Connector::Adyen, enums::Connector::Adyen,
vec![RequiredFieldInfo { vec![RequiredFieldInfo {
required_field: "payment_method_data.bank_debit.ach_bank_debit.card_holder_name".to_string(), required_field: "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

@ -4116,26 +4116,10 @@
] ]
}, },
{ {
"type": "object", "type": "string",
"required": [ "enum": [
"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",
@ -4156,48 +4140,10 @@
] ]
}, },
{ {
"type": "object", "type": "string",
"required": [ "enum": [
"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",