UNPKG

@foxy.io/sdk

Version:

Universal SDK for a full server-side and a limited in-browser access to Foxy hAPI.

178 lines (173 loc) 8.1 kB
import type { AppliedTaxes } from './applied_taxes'; import type { Attributes } from './attributes'; import type { BillingAddresses } from './billing_addresses'; import type { Capture } from './capture'; import type { CustomFields } from './custom_fields'; import type { Customer } from './customer'; import type { Discounts } from './discounts'; import type { GiftCardCodeLogs } from './gift_card_code_logs'; import type { Graph } from '../../core'; import type { Items } from './items'; import type { NativeIntegrations } from './native_integrations'; import type { Payments } from './payments'; import type { ProcessWebhook } from './process_webhook'; import type { Receipt } from './receipt'; import type { Refund } from './refund'; import type { SendEmails } from './send_emails'; import type { SendWebhooks } from './send_webhooks'; import type { Shipments } from './shipments'; import type { Store } from './store'; import type { StoreTransactionFolder } from './store_transaction_folder'; import type { Subscription } from './subscription'; import type { TransactionJournalEntries } from './transaction_journal_entries'; import type { TransactionLogs } from './transaction_logs'; import type { Void } from './void'; export interface Transaction extends Graph { curie: 'fx:transaction'; links: { /** This resource. */ 'self': Transaction; /** POST here to void this transaction. */ 'fx:void': Void; /** Related store resource. */ 'fx:store': Store; /** List of items in this transaction. */ 'fx:items': Items; /** Folder this transaction is assigned to. Not present when not assigned. */ 'fx:folder': StoreTransactionFolder; /** POST here to refund this transaction. */ 'fx:refund': Refund; /** Open this link in a browser to see a receipt for this transaction. */ 'fx:receipt': Receipt; /** POST here to capture this transaction. */ 'fx:capture': Capture; /** List of payments for this transaction. */ 'fx:payments': Payments; /** Related customer resource. */ 'fx:customer': Customer; /** List of discounts applied to this transaction. */ 'fx:discounts': Discounts; /** List of shipments for this transaction. */ 'fx:shipments': Shipments; /** List of custom attributes on this transaction. */ 'fx:attributes': Attributes; /** POST here to resend emails for this transaction. */ 'fx:send_emails': SendEmails; /** If this transaction has a subscription, it will be linked here. */ 'fx:subscription': Subscription; /** List of taxes applied to this transaction. */ 'fx:applied_taxes': AppliedTaxes; /** List of custom fields on this transaction. */ 'fx:custom_fields': CustomFields; /** POST here to send the webhook notification for this transaction. */ 'fx:send_webhooks': SendWebhooks; /** POST here to resend the webhook notification for this transaction. */ 'fx:process_webhook': ProcessWebhook; /** Transaction logs. */ 'fx:transaction_logs': TransactionLogs; /** List of billing addresses applicable to this transaction. */ 'fx:billing_addresses': BillingAddresses; /** POST here to resend transaction to the webhooks. */ 'fx:native_integrations': NativeIntegrations; /** List of all gift card codes applied to this transaction. */ 'fx:applied_gift_card_codes': GiftCardCodeLogs; /** Journal entries for this transaction. */ 'fx:transaction_journal_entries': TransactionJournalEntries; }; props: { /** The order number. */ id: number; /** True if this transaction was a test transaction and not run against a live payment gateway. */ is_test: boolean; /** Set this to true to hide it in the FoxyCart admin. */ hide_transaction: boolean; /** If the webhook for this transaction has been successfully sent, this will be true. You can also modify this to meet your needs. */ data_is_fed: boolean; /** The date of this transaction shown in the timezone of the store. The format used is ISO 8601 (or 'c' format string for PHP developers). */ transaction_date: string; /** The locale code of this transaction. This will be a copy of the store's local_code at the time of the transaction. */ locale_code: string; /** The customer's given name at the time of the transaction. */ customer_first_name: string; /** The customer's surname at the time of the transaction. */ customer_last_name: string; /** If the customer provided a tax_id during checkout, it will be included here. */ customer_tax_id: string; /** The customer's email address at the time of the transaction. */ customer_email: string; /** The customer's ip address at the time of the transaction. */ customer_ip: string; /** The country of the customer's ip address. */ ip_country: string; /** Total amount of the items in this transaction. */ total_item_price: string; /** Total amount of the taxes for this transaction. */ total_tax: string; /** Total amount of the shipping costs for this transaction. */ total_shipping: string; /** If this transaction has any shippable subscription items which will process in the future, this will be the total amount of shipping costs for those items. */ total_future_shipping: string; /** Total amount of this transaction including all items, taxes, shipping costs and discounts. */ total_order: number; /** Used for transactions processed with a hosted payment gateway which can change the status of the transaction after it is originally posted. If the status is empty, a normal payment gateway was used and the transaction should be considered completed. */ status: | '' | 'capturing' | 'captured' | 'approved' | 'authorized' | 'pending' | 'completed' | 'problem' | 'pending_fraud_review' | 'rejected' | 'declined' | 'refunding' | 'refunded' | 'voided' | 'verified'; /** The type of transaction that has occurred. */ type: '' | 'updateinfo' | 'subscription_modification' | 'subscription_renewal' | 'subscription_cancellation'; /** The 3 character ISO code for the currency. */ currency_code: string; /** The currency symbol, such as $, £, €, etc. */ currency_symbol: string; /** The UA string of a browser that customer used on checkout. May contain a special UA for subscription processing. */ user_agent: string; /** If custom transaction IDs, prefixes, or suffixes have been configured, this value will contain the custom ID (which may be a string). Otherwise it will be identical to the id value (an integer). */ display_id: string | number; /** The source of transaction that has occurred. CIT/MIT. */ source: | 'cit_ecommerce' | 'mit_uoe' | 'mit_api' | 'mit_recurring' | 'mit_recurring_reattempt_automated' | 'mit_recurring_reattempt_manual' | 'cit_recurring_cancellation' | 'mit_recurring_cancellation'; /** ID of the folder this transaction is assigned to. When not assigned, this will be `null`. */ folder_id: number | null; /** The URI of the folder this transaction is assigned to. When not assigned, this will be an empty string. */ folder_uri: string; /** The date this resource was created. */ date_created: string | null; /** The date this resource was last modified. */ date_modified: string | null; }; zooms: { transaction_journal_entries?: TransactionJournalEntries; gift_card_code_logs?: GiftCardCodeLogs; // the zoom name is `applied_gift_card_codes` but we use `gift_card_code_logs` here due to the constraints of the SDK type system billing_addresses?: BillingAddresses; transaction_logs?: TransactionLogs; applied_taxes?: AppliedTaxes; custom_fields?: CustomFields; attributes: Attributes; discounts?: Discounts; shipments?: Shipments; customer?: Customer; payments?: Payments; folder?: StoreTransactionFolder; items?: Items; }; }