agentic_commerce_protocol/models/
payment_method_card.rs1use serde::{Deserialize, Serialize};
3
4use super::{
5 card_funding_type::CardFundingType, card_number_type::CardNumberType,
6 check_performed_type::CheckPerformedType,
7};
8
9#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10pub struct PaymentMethodCard {
11 pub r#type: String,
12 pub card_number_type: CardNumberType,
13 pub number: String,
14 #[serde(skip_serializing_if = "Option::is_none")]
15 pub exp_month: Option<String>,
16 #[serde(skip_serializing_if = "Option::is_none")]
17 pub exp_year: Option<String>,
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub name: Option<String>,
20 #[serde(skip_serializing_if = "Option::is_none")]
21 pub cvc: Option<String>,
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub cryptogram: Option<String>,
24 #[serde(skip_serializing_if = "Option::is_none")]
25 pub eci_value: Option<String>,
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub checks_performed: Option<Vec<CheckPerformedType>>,
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub iin: Option<String>,
30 pub display_card_funding_type: CardFundingType,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub display_wallet_type: Option<String>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub display_brand: Option<String>,
35 #[serde(skip_serializing_if = "Option::is_none")]
36 pub display_last4: Option<String>,
37 pub metadata: std::collections::HashMap<String, String>,
38}