ya_client_model/payment/
debit_note.rs

1use crate::NodeId;
2use bigdecimal::BigDecimal;
3use chrono::{DateTime, Utc};
4use serde::{Deserialize, Serialize};
5
6#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct DebitNote {
9    pub debit_note_id: String,
10    pub issuer_id: NodeId,
11    pub recipient_id: NodeId,
12    pub payee_addr: String,
13    pub payer_addr: String,
14    pub payment_platform: String,
15    #[serde(skip_serializing_if = "Option::is_none", default)]
16    pub previous_debit_note_id: Option<String>,
17    pub timestamp: DateTime<Utc>,
18    pub agreement_id: String,
19    pub activity_id: String,
20    pub total_amount_due: BigDecimal,
21    #[serde(skip_serializing_if = "Option::is_none", default)]
22    pub usage_counter_vector: Option<serde_json::Value>,
23    #[serde(skip_serializing_if = "Option::is_none", default)]
24    pub payment_due_date: Option<DateTime<Utc>>,
25    pub status: crate::payment::DocumentStatus,
26}
27
28#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
29#[serde(rename_all = "camelCase")]
30pub struct NewDebitNote {
31    pub activity_id: String,
32    pub total_amount_due: BigDecimal,
33    #[serde(skip_serializing_if = "Option::is_none", default)]
34    pub usage_counter_vector: Option<serde_json::Value>,
35    #[serde(skip_serializing_if = "Option::is_none", default)]
36    pub payment_due_date: Option<DateTime<Utc>>,
37}