use serde::{Deserialize, Serialize};
use super::common::{AuthorizationStatusDetails, LinkDescription, Money, SellerProtection};
#[derive(Debug, Serialize, Deserialize, Eq, PartialEq, Clone, Copy)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum PaymentStatus {
Created,
Captured,
Denied,
Expired,
PartiallyCaptured,
PartiallyCreated,
Voided,
Pending,
}
#[derive(Debug, Serialize, Deserialize, Eq, PartialEq, Clone)]
pub struct AuthorizedPaymentDetails {
pub status: PaymentStatus,
pub status_details: AuthorizationStatusDetails,
pub id: String,
pub amount: Money,
pub invoice_id: String,
pub custom_id: String,
pub seller_protection: SellerProtection,
pub expiration_time: chrono::DateTime<chrono::Utc>,
pub links: Vec<LinkDescription>,
pub create_time: chrono::DateTime<chrono::Utc>,
pub update_time: chrono::DateTime<chrono::Utc>,
}