1use crate::identifier::Identifier;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
5pub struct CreditTransfer {
6 pub account_id: Identifier,
7 pub account_name: Option<String>,
8 pub provider: Option<String>,
9}
10
11#[derive(Debug, Clone, PartialEq, Eq)]
13pub struct PaymentCard {
14 pub pan: String,
15 pub holder: Option<String>,
16}
17
18#[derive(Debug, Clone, PartialEq, Eq)]
20pub struct DirectDebit {
21 pub mandate: Option<String>,
22 pub creditor_id: Option<Identifier>,
23 pub debited_account: Option<Identifier>,
24}
25
26#[derive(Debug, Clone, PartialEq, Eq)]
29pub enum PaymentMeans {
30 CreditTransfer(Vec<CreditTransfer>),
31 Card(PaymentCard),
32 DirectDebit(DirectDebit),
33}