paypal_rust/resources/enums/
capture_status.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
4pub enum CaptureStatus {
5    #[serde(rename = "COMPLETED")]
6    Completed,
7    #[serde(rename = "DECLINED")]
8    Declined,
9    #[serde(rename = "PARTIALLY_REFUNDED")]
10    PartiallyRefunded,
11    #[serde(rename = "PENDING")]
12    Pending,
13    #[serde(rename = "REFUNDED")]
14    Refunded,
15    #[serde(rename = "FAILED")]
16    Failed,
17}
18
19impl CaptureStatus {
20    pub const fn as_str(self) -> &'static str {
21        match self {
22            Self::Completed => "COMPLETED",
23            Self::Declined => "DECLINED",
24            Self::PartiallyRefunded => "PARTIALLY_REFUNDED",
25            Self::Pending => "PENDING",
26            Self::Refunded => "REFUNDED",
27            Self::Failed => "FAILED",
28        }
29    }
30}
31
32impl AsRef<str> for CaptureStatus {
33    fn as_ref(&self) -> &str {
34        self.as_str()
35    }
36}
37
38impl std::fmt::Display for CaptureStatus {
39    fn fmt(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
40        self.as_str().fmt(formatter)
41    }
42}