paypal_rust/resources/enums/
payment_status.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
4pub enum PaymentStatus {
5    #[serde(rename = "CREATED")]
6    Created,
7    #[serde(rename = "CAPTURED")]
8    Captured,
9    #[serde(rename = "DENIED")]
10    Denied,
11    #[serde(rename = "EXPIRED")]
12    Expired,
13    #[serde(rename = "PARTIALLY_CAPTURED")]
14    PartiallyCaptured,
15    #[serde(rename = "PARTIALLY_CREATED")]
16    PartiallyCreated,
17    #[serde(rename = "VOIDED")]
18    Voided,
19    #[serde(rename = "PENDING")]
20    Pending,
21}
22
23impl PaymentStatus {
24    pub const fn as_str(self) -> &'static str {
25        match self {
26            Self::Created => "CREATED",
27            Self::Captured => "CAPTURED",
28            Self::Denied => "DENIED",
29            Self::Expired => "EXPIRED",
30            Self::PartiallyCaptured => "PARTIALLY_CAPTURED",
31            Self::PartiallyCreated => "PARTIALLY_CREATED",
32            Self::Voided => "VOIDED",
33            Self::Pending => "PENDING",
34        }
35    }
36}
37
38impl AsRef<str> for PaymentStatus {
39    fn as_ref(&self) -> &str {
40        self.as_str()
41    }
42}
43
44impl std::fmt::Display for PaymentStatus {
45    fn fmt(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
46        self.as_str().fmt(formatter)
47    }
48}