fireblocks_sdk/models/
spei_advanced_payment_info.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
17pub struct SpeiAdvancedPaymentInfo {
18 #[serde(rename = "rail")]
20 pub rail: Rail,
21 #[serde(rename = "addressingSystem")]
23 pub addressing_system: AddressingSystem,
24 #[serde(rename = "accountHolderGivenName")]
26 pub account_holder_given_name: String,
27 #[serde(rename = "accountHolderSurname")]
29 pub account_holder_surname: String,
30 #[serde(rename = "country")]
32 pub country: String,
33 #[serde(rename = "bankName", skip_serializing_if = "Option::is_none")]
35 pub bank_name: Option<String>,
36 #[serde(rename = "beneficiaryRfc", skip_serializing_if = "Option::is_none")]
38 pub beneficiary_rfc: Option<String>,
39 #[serde(rename = "senderDocumentId", skip_serializing_if = "Option::is_none")]
41 pub sender_document_id: Option<String>,
42 #[serde(rename = "clabe")]
44 pub clabe: String,
45}
46
47impl SpeiAdvancedPaymentInfo {
48 pub fn new(
51 rail: Rail,
52 addressing_system: AddressingSystem,
53 account_holder_given_name: String,
54 account_holder_surname: String,
55 country: String,
56 clabe: String,
57 ) -> SpeiAdvancedPaymentInfo {
58 SpeiAdvancedPaymentInfo {
59 rail,
60 addressing_system,
61 account_holder_given_name,
62 account_holder_surname,
63 country,
64 bank_name: None,
65 beneficiary_rfc: None,
66 sender_document_id: None,
67 clabe,
68 }
69 }
70}
71#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
73pub enum Rail {
74 #[serde(rename = "SPEI")]
75 Spei,
76}
77
78impl Default for Rail {
79 fn default() -> Rail {
80 Self::Spei
81 }
82}
83#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
85pub enum AddressingSystem {
86 #[serde(rename = "CLABE")]
87 Clabe,
88}
89
90impl Default for AddressingSystem {
91 fn default() -> AddressingSystem {
92 Self::Clabe
93 }
94}