fireblocks_sdk/models/
ach_payment_info.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
17pub struct AchPaymentInfo {
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 = "accountNumber")]
35 pub account_number: String,
36 #[serde(rename = "routingNumber")]
38 pub routing_number: String,
39 #[serde(rename = "accountType")]
41 pub account_type: AccountType,
42}
43
44impl AchPaymentInfo {
45 pub fn new(
47 rail: Rail,
48 addressing_system: AddressingSystem,
49 account_holder_given_name: String,
50 account_holder_surname: String,
51 country: String,
52 account_number: String,
53 routing_number: String,
54 account_type: AccountType,
55 ) -> AchPaymentInfo {
56 AchPaymentInfo {
57 rail,
58 addressing_system,
59 account_holder_given_name,
60 account_holder_surname,
61 country,
62 account_number,
63 routing_number,
64 account_type,
65 }
66 }
67}
68#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
70pub enum Rail {
71 #[serde(rename = "ACH")]
72 Ach,
73}
74
75impl Default for Rail {
76 fn default() -> Rail {
77 Self::Ach
78 }
79}
80#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
82pub enum AddressingSystem {
83 #[serde(rename = "ACH")]
84 Ach,
85}
86
87impl Default for AddressingSystem {
88 fn default() -> AddressingSystem {
89 Self::Ach
90 }
91}
92#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
94pub enum AccountType {
95 #[serde(rename = "CHECKING")]
96 Checking,
97 #[serde(rename = "SAVINGS")]
98 Savings,
99}
100
101impl Default for AccountType {
102 fn default() -> AccountType {
103 Self::Checking
104 }
105}