UNPKG

expresspayments

Version:
338 lines (277 loc) 13.2 kB
// File generated from our OpenAPI spec declare module 'expresspayments' { namespace ExpressPayments { namespace Issuing { /** * Any use of an [issued card](https://docs.epayments.network/issuing) that results in funds entering or leaving * your ExpressPayments account, such as a completed purchase or refund, is represented by an Issuing * `Transaction` object. * * Related guide: [Issued card transactions](https://docs.epayments.network/issuing/purchases/transactions) */ interface Transaction { /** * Unique identifier for the object. */ id: string; /** * String representing the object's type. Objects of the same type share the same value. */ object: 'issuing.transaction'; /** * The transaction amount, which will be reflected in your balance. This amount is in your currency and in the [smallest currency unit](https://docs.epayments.network/currencies#zero-decimal). */ amount: number; /** * Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://docs.epayments.network/currencies#zero-decimal). */ amount_details: Transaction.AmountDetails | null; /** * The `Authorization` object that led to this transaction. */ authorization: | string | ExpressPayments.Issuing.Authorization | null; /** * ID of the [balance transaction](https://docs.epayments.network/api/balance_transactions) associated with this transaction. */ balance_transaction: | string | ExpressPayments.BalanceTransaction | null; /** * The card used to make this transaction. */ card: string | ExpressPayments.Issuing.Card; /** * The cardholder to whom this transaction belongs. */ cardholder: string | ExpressPayments.Issuing.Cardholder | null; /** * Time at which the object was created. Measured in seconds since the Unix epoch. */ created: number; /** * Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://docs.epayments.network/currencies). */ currency: string; /** * If you've disputed the transaction, the ID of the dispute. */ dispute: string | ExpressPayments.Issuing.Dispute | null; /** * Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ livemode: boolean; /** * The amount that the merchant will receive, denominated in `merchant_currency` and in the [smallest currency unit](https://docs.epayments.network/currencies#zero-decimal). It will be different from `amount` if the merchant is taking payment in a different currency. */ merchant_amount: number; /** * The currency with which the merchant is taking payment. */ merchant_currency: string; merchant_data: Transaction.MerchantData; /** * Set of [key-value pairs](https://docs.epayments.network/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: ExpressPayments.Metadata; /** * Additional purchase information that is optionally provided by the merchant. */ purchase_details: Transaction.PurchaseDetails | null; /** * [Treasury](https://docs.epayments.network/api/treasury) details related to this transaction if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts */ treasury?: Transaction.Treasury | null; /** * The nature of the transaction. */ type: Transaction.Type; /** * The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. */ wallet: Transaction.Wallet | null; } namespace Transaction { interface AmountDetails { /** * The fee charged by the ATM for the cash withdrawal. */ atm_fee: number | null; } interface MerchantData { /** * A categorization of the seller's type of business. See our [merchant categories guide](https://docs.epayments.network/issuing/merchant-categories) for a list of possible values. */ category: string; /** * The merchant category code for the seller's business */ category_code: string; /** * City where the seller is located */ city: string | null; /** * Country where the seller is located */ country: string | null; /** * Name of the seller */ name: string | null; /** * Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. */ network_id: string; /** * Postal code where the seller is located */ postal_code: string | null; /** * State where the seller is located */ state: string | null; /** * An ID assigned by the seller to the location of the sale. */ terminal_id: string | null; } interface PurchaseDetails { /** * Information about the flight that was purchased with this transaction. */ flight: PurchaseDetails.Flight | null; /** * Information about fuel that was purchased with this transaction. */ fuel: PurchaseDetails.Fuel | null; /** * Information about lodging that was purchased with this transaction. */ lodging: PurchaseDetails.Lodging | null; /** * The line items in the purchase. */ receipt: Array<PurchaseDetails.Receipt> | null; /** * A merchant-specific order number. */ reference: string | null; } namespace PurchaseDetails { interface Flight { /** * The time that the flight departed. */ departure_at: number | null; /** * The name of the passenger. */ passenger_name: string | null; /** * Whether the ticket is refundable. */ refundable: boolean | null; /** * The legs of the trip. */ segments: Array<Flight.Segment> | null; /** * The travel agency that issued the ticket. */ travel_agency: string | null; } namespace Flight { interface Segment { /** * The three-letter IATA airport code of the flight's destination. */ arrival_airport_code: string | null; /** * The airline carrier code. */ carrier: string | null; /** * The three-letter IATA airport code that the flight departed from. */ departure_airport_code: string | null; /** * The flight number. */ flight_number: string | null; /** * The flight's service class. */ service_class: string | null; /** * Whether a stopover is allowed on this flight. */ stopover_allowed: boolean | null; } } interface Fuel { /** * The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. */ type: string; /** * The units for `volume_decimal`. One of `us_gallon` or `liter`. */ unit: string; /** * The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. */ unit_cost_decimal: string; /** * The volume of the fuel that was pumped, represented as a decimal string with at most 12 decimal places. */ volume_decimal: string | null; } interface Lodging { /** * The time of checking into the lodging. */ check_in_at: number | null; /** * The number of nights stayed at the lodging. */ nights: number | null; } interface Receipt { /** * The description of the item. The maximum length of this field is 26 characters. */ description: string | null; /** * The quantity of the item. */ quantity: number | null; /** * The total for this line item in cents. */ total: number | null; /** * The unit cost of the item in cents. */ unit_cost: number | null; } } interface Treasury { /** * The Treasury [ReceivedCredit](https://docs.epayments.network/api/treasury/received_credits) representing this Issuing transaction if it is a refund */ received_credit: string | null; /** * The Treasury [ReceivedDebit](https://docs.epayments.network/api/treasury/received_debits) representing this Issuing transaction if it is a capture */ received_debit: string | null; } type Type = 'capture' | 'refund'; type Wallet = 'apple_pay' | 'google_pay' | 'samsung_pay'; } } } }