import type { TransactionCompletionState } from './TransactionCompletionState'; import type { FailureReason } from './FailureReason'; import type { Label } from './Label'; import type { LineItem } from './LineItem'; import type { TransactionCompletionMode } from './TransactionCompletionMode'; import type { TransactionLineItemVersion } from './TransactionLineItemVersion'; /** * * @export * @interface TransactionCompletion */ export interface TransactionCompletion { /** * * @type {TransactionLineItemVersion} * @memberof TransactionCompletion */ lineItemVersion?: TransactionLineItemVersion; /** * The statement descriptor that appears on a customer's bank statement, providing an explanation for charges or payments, helping customers identify the transaction. * @type {string} * @memberof TransactionCompletion */ readonly statementDescriptor?: string; /** * The original line items from the transaction that serve as the baseline for this completion. * @type {Array} * @memberof TransactionCompletion */ readonly baseLineItems?: Array; /** * The date and time when the processing of the transaction completion was started. * @type {Date} * @memberof TransactionCompletion */ readonly processingOn?: Date; /** * The merchant's reference used to identify the invoice. * @type {string} * @memberof TransactionCompletion */ readonly invoiceMerchantReference?: string; /** * The language that is linked to the object. * @type {string} * @memberof TransactionCompletion */ readonly language?: string; /** * The line items yet to be captured in the transaction. * @type {Array} * @memberof TransactionCompletion */ readonly remainingLineItems?: Array; /** * The date and time when the object was created. * @type {Date} * @memberof TransactionCompletion */ readonly createdOn?: Date; /** * The line items captured in this transaction completion. * @type {Array} * @memberof TransactionCompletion */ readonly lineItems?: Array; /** * * @type {TransactionCompletionMode} * @memberof TransactionCompletion */ mode?: TransactionCompletionMode; /** * Allow to store additional information about the object. * @type {{ [key: string]: string; }} * @memberof TransactionCompletion */ readonly metaData?: { [key: string]: string; }; /** * The date and time when the transaction completion succeeded. * @type {Date} * @memberof TransactionCompletion */ readonly succeededOn?: Date; /** * A unique identifier for the object. * @type {number} * @memberof TransactionCompletion */ readonly id?: number; /** * * @type {TransactionCompletionState} * @memberof TransactionCompletion */ state?: TransactionCompletionState; /** * The payment transaction this object is linked to. * @type {number} * @memberof TransactionCompletion */ readonly linkedTransaction?: number; /** * Payment-specific details related to this transaction completion such as payment instructions or references needed for processing. * @type {string} * @memberof TransactionCompletion */ readonly paymentInformation?: string; /** * The total amount to be captured in this completion, including taxes. * @type {number} * @memberof TransactionCompletion */ readonly amount?: number; /** * Whether this is the final completion for the transaction. After the last completion is successfully created, the transaction enters its final state, and no further completions can occur. * @type {boolean} * @memberof TransactionCompletion */ readonly lastCompletion?: boolean; /** * The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed. * @type {Date} * @memberof TransactionCompletion */ readonly plannedPurgeDate?: Date; /** * A client-generated nonce which uniquely identifies some action to be executed. Subsequent requests with the same external ID do not execute the action again, but return the original result. * @type {string} * @memberof TransactionCompletion */ readonly externalId?: string; /** * The time zone that this object is associated with. * @type {string} * @memberof TransactionCompletion */ readonly timeZone?: string; /** * The ID of the space view this object is linked to. * @type {number} * @memberof TransactionCompletion */ readonly spaceViewId?: number; /** * The version is used for optimistic locking and incremented whenever the object is updated. * @type {number} * @memberof TransactionCompletion */ readonly version?: number; /** * The labels providing additional information about the object. * @type {Set