tosspayments/data/
cash_receipt.rs1use serde::{Deserialize, Serialize};
2
3use crate::data::Failure;
4
5#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)]
6pub enum CashReceiptType {
7 #[serde(rename = "소득공제")]
8 Consumer,
9 #[serde(rename = "지출증빙")]
10 Business,
11}
12
13#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)]
14#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
15pub enum CashReceiptIssueStatus {
16 InProgress,
17 Completed,
18 Failed,
19}
20
21#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)]
22#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
23pub enum CashReceiptTransactionType {
24 Confirm,
25 Cancel,
26}
27
28#[derive(Clone, Debug, Serialize, Deserialize)]
29#[serde(rename_all = "camelCase")]
30pub struct CashReceipt {
31 pub receipt_key: String,
32 pub issue_number: String,
33 pub issue_status: CashReceiptIssueStatus,
34 pub amount: i32,
35 pub tax_free_amount: i32,
36 pub order_id: String,
37 pub order_name: String,
38 pub r#type: CashReceiptType,
39 pub transaction_type: CashReceiptTransactionType,
40 pub business_number: String,
41 pub customer_identity_number: String,
42 pub failure: Option<Failure>,
43 pub requested_at: String,
44 pub receipt_url: String,
45}