1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
//! Model struct for Transaction type
use serde::Deserialize;
use super::{enums::TransactionProduct, Address, DateTime, Refund, Tender};
/// Represents a transaction processed with Square, either with the Connect API or with Square Point
/// of Sale.
///
/// The tenders field of this object lists all methods of payment used to pay in the transaction.
#[deprecated]
#[derive(Clone, Debug, Deserialize, Eq, PartialEq)]
pub struct Transaction {
/// The transaction's unique ID, issued by Square payments servers.
pub id: Option<String>,
/// The ID of the transaction's associated location.
pub location_id: Option<String>,
/// The timestamp for when the transaction was created.
pub created_at: Option<DateTime>,
/// The tenders used to pay in the transaction.
pub tenders: Option<Vec<Tender>>,
/// Refunds that have been applied to any tender in the transaction.
pub refunds: Option<Vec<Refund>>,
/// If the transaction was created with the `Charge` endpoint, this value
/// is the same as the value provided for the `reference_id` parameter in the request to that
/// endpoint. Otherwise, it is not set.
pub reference_id: Option<String>,
/// Indicates the Square product used to process a transaction.
pub product: Option<TransactionProduct>,
/// If the transaction was created in the Square Point of Sale app, this value is the ID
/// generated for the transaction by Square Point of Sale.
///
/// This ID has no relationship to the transaction's canonical `id`, which is generated by
/// Square's backend servers. This value is generated for bookkeeping purposes, in case the
/// transaction cannot immediately be completed (for example, if the transaction is processed in
/// offline mode).
///
/// It is not currently possible with the Connect API to perform a transaction lookup by this
/// value.
pub client_id: Option<String>,
/// The shipping address provided in the request, if any.
pub shipping_address: Option<Address>,
/// The order_id is an identifier for the order associated with this transaction, if any.
pub order_id: Option<String>,
}