sumup_rs/models/
transaction.rs1use super::common::Link;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct TransactionHistoryResponse {
6 pub items: Vec<Transaction>,
7 #[serde(default)]
8 pub links: Vec<Link>,
9}
10
11#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct Transaction {
13 pub id: String,
14 pub transaction_code: String,
15 pub amount: f64,
16 pub currency: String,
17 pub timestamp: String,
18 #[serde(default, skip_serializing_if = "Option::is_none")]
19 pub status: Option<String>,
20 #[serde(default, skip_serializing_if = "Option::is_none")]
21 pub payment_type: Option<String>,
22 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub installments_count: Option<i32>,
24 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub merchant_code: Option<String>,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub vat_amount: Option<f64>,
28 #[serde(default, skip_serializing_if = "Option::is_none")]
29 pub tip_amount: Option<f64>,
30 #[serde(default, skip_serializing_if = "Option::is_none")]
31 pub entry_mode: Option<String>,
32 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub auth_code: Option<String>,
34 #[serde(default, skip_serializing_if = "Option::is_none")]
35 pub internal_id: Option<i64>,
36 }