Skip to main content

amazon_spapi/models/vendor_transaction_status/
transaction.rs

1/*
2 * Selling Partner API for Retail Procurement Transaction Status
3 *
4 * The Selling Partner API for Retail Procurement Transaction Status provides programmatic access to status information on specific asynchronous POST transactions for vendors.
5 *
6 * The version of the OpenAPI document: v1
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// Transaction : The transaction status.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Transaction {
17    /// The unique identifier returned in the 'transactionId' field in response to the post request of a specific transaction.
18    #[serde(rename = "transactionId")]
19    pub transaction_id: String,
20    /// Current processing status of the transaction.
21    #[serde(rename = "status")]
22    pub status: Status,
23    /// A list of error responses returned when a request is unsuccessful.
24    #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
25    pub errors: Option<Vec<models::vendor_transaction_status::Error>>,
26}
27
28impl Transaction {
29    /// The transaction status.
30    pub fn new(transaction_id: String, status: Status) -> Transaction {
31        Transaction {
32            transaction_id,
33            status,
34            errors: None,
35        }
36    }
37}
38/// Current processing status of the transaction.
39#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
40pub enum Status {
41    #[serde(rename = "Failure")]
42    Failure,
43    #[serde(rename = "Processing")]
44    Processing,
45    #[serde(rename = "Success")]
46    Success,
47}
48
49impl Default for Status {
50    fn default() -> Status {
51        Self::Failure
52    }
53}
54