fireblocks_sdk/models/
lbt_payment_info.rs

1// Fireblocks API
2//
3// Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
4//
5// The version of the OpenAPI document: 1.8.0
6// Contact: developers@fireblocks.com
7// Generated by: https://openapi-generator.tech
8
9use {
10    crate::models,
11    serde::{Deserialize, Serialize},
12};
13
14/// LbtPaymentInfo : LBT (Lebanese Bank Transfer) payment information for
15/// Lebanese bank transfers
16#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
17pub struct LbtPaymentInfo {
18    /// The payment rail type for Lebanese bank transfers
19    #[serde(rename = "rail")]
20    pub rail: Rail,
21    /// The addressing system used for Lebanese bank transfers (Bank Account
22    /// Number)
23    #[serde(rename = "addressingSystem")]
24    pub addressing_system: AddressingSystem,
25    /// The given name (first name) of the account holder
26    #[serde(rename = "accountHolderGivenName")]
27    pub account_holder_given_name: String,
28    /// The surname (last name) of the account holder
29    #[serde(rename = "accountHolderSurname")]
30    pub account_holder_surname: String,
31    /// The country for the transfer (ISO 3166-1 alpha-2 code)
32    #[serde(rename = "country")]
33    pub country: String,
34    /// The bank account number
35    #[serde(rename = "accountNumber")]
36    pub account_number: String,
37    /// The name of the bank
38    #[serde(rename = "bankName")]
39    pub bank_name: String,
40    /// The bank code or identifier
41    #[serde(rename = "bankCode")]
42    pub bank_code: String,
43}
44
45impl LbtPaymentInfo {
46    /// LBT (Lebanese Bank Transfer) payment information for Lebanese bank
47    /// transfers
48    pub fn new(
49        rail: Rail,
50        addressing_system: AddressingSystem,
51        account_holder_given_name: String,
52        account_holder_surname: String,
53        country: String,
54        account_number: String,
55        bank_name: String,
56        bank_code: String,
57    ) -> LbtPaymentInfo {
58        LbtPaymentInfo {
59            rail,
60            addressing_system,
61            account_holder_given_name,
62            account_holder_surname,
63            country,
64            account_number,
65            bank_name,
66            bank_code,
67        }
68    }
69}
70/// The payment rail type for Lebanese bank transfers
71#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
72pub enum Rail {
73    #[serde(rename = "LBT")]
74    Lbt,
75}
76
77impl Default for Rail {
78    fn default() -> Rail {
79        Self::Lbt
80    }
81}
82/// The addressing system used for Lebanese bank transfers (Bank Account Number)
83#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
84pub enum AddressingSystem {
85    #[serde(rename = "BAN")]
86    Ban,
87}
88
89impl Default for AddressingSystem {
90    fn default() -> AddressingSystem {
91        Self::Ban
92    }
93}