refactor(connector): [Itaubank] add dynamic fields for pix (#5419)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Sakil Mostak
2024-07-23 20:54:56 +05:30
committed by GitHub
parent 94bb3e78fd
commit afae5906a8
3 changed files with 67 additions and 1 deletions

View File

@ -9847,6 +9847,24 @@
}
}
}
},
{
"type": "string",
"enum": [
"user_pix_key"
]
},
{
"type": "string",
"enum": [
"user_cpf"
]
},
{
"type": "string",
"enum": [
"user_cnpj"
]
}
],
"description": "Possible field type of required fields in payment_method_data"

View File

@ -476,6 +476,9 @@ pub enum FieldType {
UserDateOfBirth,
UserVpaId,
LanguagePreference { options: Vec<String> },
UserPixKey,
UserCpf,
UserCnpj,
}
impl FieldType {
@ -562,6 +565,9 @@ impl PartialEq for FieldType {
) => options_self.eq(options_other),
(Self::UserDateOfBirth, Self::UserDateOfBirth) => true,
(Self::UserVpaId, Self::UserVpaId) => true,
(Self::UserPixKey, Self::UserPixKey) => true,
(Self::UserCpf, Self::UserCpf) => true,
(Self::UserCnpj, Self::UserCnpj) => true,
(Self::LanguagePreference { .. }, Self::LanguagePreference { .. }) => true,
_unused => false,
}

View File

@ -8871,7 +8871,49 @@ impl Default for super::settings::RequiredFields {
}
),
])}),
])))
(enums::PaymentMethodType::Pix,
ConnectorFields {
fields: HashMap::from([
(
enums::Connector::Itaubank,
RequiredFieldFinal {
mandate: HashMap::new(),
non_mandate: HashMap::new(),
common: HashMap::from(
[
(
"payment_method_data.bank_transfer.pix.pix_key".to_string(),
RequiredFieldInfo {
required_field: "payment_method_data.bank_transfer.pix.pix_key".to_string(),
display_name: "pix_key".to_string(),
field_type: enums::FieldType::UserPixKey,
value: None,
}
),
(
"payment_method_data.bank_transfer.pix.cnpj".to_string(),
RequiredFieldInfo {
required_field: "payment_method_data.bank_transfer.pix.cnpj".to_string(),
display_name: "cnpj".to_string(),
field_type: enums::FieldType::UserCnpj,
value: None,
}
),
(
"payment_method_data.bank_transfer.pix.cpf".to_string(),
RequiredFieldInfo {
required_field: "payment_method_data.bank_transfer.pix.cpf".to_string(),
display_name: "cpf".to_string(),
field_type: enums::FieldType::UserCpf,
value: None,
}
),
]
),
}
),
])}),
])))
]))
}
}