paymentlib/payway/dto/
transaction_response.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use crate::payway::enums::transaction_status::TransactionStatus;
use crate::payway::jsonb::credit_card::CreditCard;
use crate::payway::jsonb::link::Link;
use crate::payway::jsonb::merchant::Merchant;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(rename_all = "camelCase")]
pub struct TransactionResponse {
    pub transaction_id: i64,
    pub receipt_number: Option<String>,
    pub status: TransactionStatus,
    pub response_code: Option<String>,
    pub response_text: Option<String>,
    pub transaction_type: Option<String>,
    pub customer_number: Option<String>,
    pub customer_name: Option<String>,
    pub currency: Option<String>,
    pub principal_amount: f64,
    pub surcharge_amount: Option<f64>,
    pub payment_amount: Option<f64>,
    pub payment_method: Option<String>,
    pub credit_card: Option<CreditCard>,
    pub merchant: Option<Merchant>,
    pub transaction_date_time: String,
    pub settlement_date: Option<String>,
    pub declined_date: Option<String>,
    pub is_voidable: bool,
    pub is_refundable: bool,
    pub links: Option<Vec<Link>>,
}