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    standin_correlation_id: String,
11    trn: String,
12    #[serde(flatten)]
13    ledger_details: super::ledger::LedgerDetails,
14    client_idempotency_key: Option<String>,
15    confirmation_of_payee_decision_id: Option<String>,
16    confirmation_of_payee_requester_id: Option<String>,
17    money_transfer_id: Option<String>,
18    money_transfer_originating_id: Option<String>,
19    duplicate_payment_prompt_enabled: Option<StringBoolean>,
20    outbound_payment_trace_id: Option<String>,
21    payment_source: Option<PaymentSource>,
22    device_fingerprint: Option<String>,
23    coach_detected: Option<StringBoolean>,
24    faster_payment_initiator: Option<FasterPaymentInitiator>,
25    #[serde(rename = "fps.trn")]
26    fps_trn: Option<String>,
27    share_detected: Option<StringBoolean>,
28    notification_on_settle: Option<StringBoolean>,
29    /// Present when on a potential series of recurring payments
30    series_id: Option<String>,
31    /// Present when on a potential series of recurring payments
32    series_iteration_count: Option<String>,
33    #[serde(flatten)]
34    hold_decision: Option<super::shared_metadata::HoldDecision>,
35    action_code: Option<String>,
36}
37
38enum_with_extra! { "snake_case" => PaymentSource,
39    Payments,
40}
41
42enum_with_extra! { "snake_case" => FasterPaymentInitiator,
43    Customer,
44    ScheduledPayment,
45}