monzo_webhook/metadata/
faster_payment.rs

1use crate::StringBoolean;
2
3struct_with_extra! {
4    /// A Faster Payments transaction
5    FasterPayment,
6    faster_payment: StringBoolean,
7    fps_fpid: String,
8    fps_payment_id: String,
9    insertion: String,
10    notes: String,
11    standin_correlation_id: String,
12    trn: String,
13    #[serde(flatten)]
14    ledger_details: super::ledger::LedgerDetails,
15    client_idempotency_key: Option<String>,
16    confirmation_of_payee_decision_id: Option<String>,
17    confirmation_of_payee_requester_id: Option<String>,
18    money_transfer_id: Option<String>,
19    money_transfer_originating_id: Option<String>,
20    duplicate_payment_prompt_enabled: Option<StringBoolean>,
21    outbound_payment_trace_id: Option<String>,
22    payment_source: Option<PaymentSource>,
23    device_fingerprint: Option<String>,
24    coach_detected: Option<StringBoolean>,
25    faster_payment_initiator: Option<FasterPaymentInitiator>,
26    #[serde(rename = "fps.trn")]
27    fps_trn: Option<String>,
28    share_detected: Option<StringBoolean>,
29    notification_on_settle: Option<StringBoolean>,
30    /// Present when on a potential series of recurring payments
31    series_id: Option<String>,
32    /// Present when on a potential series of recurring payments
33    series_iteration_count: Option<String>,
34    #[serde(flatten)]
35    hold_decision: Option<super::shared_metadata::HoldDecision>,
36    action_code: Option<String>,
37}
38
39enum_with_extra! { "snake_case" => PaymentSource,
40    Payments,
41}
42
43enum_with_extra! { "snake_case" => FasterPaymentInitiator,
44    Customer,
45    ScheduledPayment,
46}