paymentlib/payway/dto/
transaction_response.rsuse 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>>,
}