import type { CustomersPresence } from './CustomersPresence'; import type { TransactionState } from './TransactionState'; import type { TransactionEnvironmentSelectionStrategy } from './TransactionEnvironmentSelectionStrategy'; import type { Address } from './Address'; import type { TokenizationMode } from './TokenizationMode'; import type { TransactionUserInterfaceType } from './TransactionUserInterfaceType'; import type { LineItem } from './LineItem'; import type { TransactionGroup } from './TransactionGroup'; import type { Token } from './Token'; import type { PaymentTerminal } from './PaymentTerminal'; import type { PaymentConnectorConfiguration } from './PaymentConnectorConfiguration'; import type { FailureReason } from './FailureReason'; import type { TransactionCompletionBehavior } from './TransactionCompletionBehavior'; import type { Environment } from './Environment'; import type { ChargeAttemptEnvironment } from './ChargeAttemptEnvironment'; /** * * @export * @interface Transaction */ export interface Transaction { /** * * @type {Transaction} * @memberof Transaction */ parent?: Transaction; /** * The total amount that was settled, in the transaction's currency. * @type {number} * @memberof Transaction */ readonly totalSettledAmount?: number; /** * Allows to link the transaction to the data collected from the customer's device. * @type {string} * @memberof Transaction */ readonly deviceSessionIdentifier?: string; /** * The date and time when the processing of the transaction was started. * @type {Date} * @memberof Transaction */ readonly processingOn?: Date; /** * The merchant's reference used to identify the invoice. * @type {string} * @memberof Transaction */ readonly invoiceMerchantReference?: string; /** * The language that is linked to the object. * @type {string} * @memberof Transaction */ readonly language?: string; /** * The date and time when the transaction was created. * @type {Date} * @memberof Transaction */ readonly confirmedOn?: Date; /** * The line items purchased by the customer. * @type {Array} * @memberof Transaction */ readonly lineItems?: Array; /** * The 'Accept Language' header of the customer's web browser. * @type {string} * @memberof Transaction */ readonly acceptLanguageHeader?: string; /** * Whether Java is enabled on the customer's web browser. * @type {boolean} * @memberof Transaction */ readonly javaEnabled?: boolean; /** * The ID of the user the transaction was confirmed by. * @type {number} * @memberof Transaction */ readonly confirmedBy?: number; /** * * @type {PaymentConnectorConfiguration} * @memberof Transaction */ paymentConnectorConfiguration?: PaymentConnectorConfiguration; /** * A unique identifier for the object. * @type {number} * @memberof Transaction */ readonly id?: number; /** * * @type {TransactionState} * @memberof Transaction */ state?: TransactionState; /** * The window width of the customer's web browser. * @type {string} * @memberof Transaction */ readonly windowWidth?: string; /** * The payment method configurations that can be used to authorize the transaction. * @type {Array} * @memberof Transaction */ readonly allowedPaymentMethodConfigurations?: Array; /** * * @type {TransactionGroup} * @memberof Transaction */ group?: TransactionGroup; /** * Whether the customer can make further payment attempts if the first one has failed. Default is true. * @type {boolean} * @memberof Transaction */ readonly chargeRetryEnabled?: boolean; /** * The 'Accept' header of the customer's web browser. * @type {string} * @memberof Transaction */ readonly acceptHeader?: string; /** * The 'User Agent' header of the customer's web browser. * @type {string} * @memberof Transaction */ readonly userAgentHeader?: string; /** * The name of the shipping method used to ship the products. * @type {string} * @memberof Transaction */ readonly shippingMethod?: string; /** * 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 Transaction */ readonly plannedPurgeDate?: Date; /** * The URL to redirect the customer back to after they successfully authenticated their payment. * @type {string} * @memberof Transaction */ readonly successUrl?: string; /** * The customer's time zone, which affects how dates and times are formatted when communicating with the customer. * @type {string} * @memberof Transaction */ readonly timeZone?: string; /** * The ID of the space view this object is linked to. * @type {number} * @memberof Transaction */ readonly spaceViewId?: number; /** * The message that can be displayed to the customer explaining why the transaction failed, in the customer's language. * @type {string} * @memberof Transaction */ readonly userFailureMessage?: string; /** * * @type {TransactionCompletionBehavior} * @memberof Transaction */ completionBehavior?: TransactionCompletionBehavior; /** * The version is used for optimistic locking and incremented whenever the object is updated. * @type {number} * @memberof Transaction */ readonly version?: number; /** * The country determined from the IP address of the customer's device. * @type {string} * @memberof Transaction */ readonly internetProtocolAddressCountry?: string; /** * The ID of the space this object belongs to. * @type {number} * @memberof Transaction */ readonly linkedSpaceId?: number; /** * This date and time when the decision was made as to whether the order should be shipped. * @type {Date} * @memberof Transaction */ readonly deliveryDecisionMadeOn?: Date; /** * * @type {ChargeAttemptEnvironment} * @memberof Transaction */ authorizationEnvironment?: ChargeAttemptEnvironment; /** * Whether the transaction can be confirmed automatically or whether this must be done explicitly via the API. Default is true. * @type {boolean} * @memberof Transaction */ readonly autoConfirmationEnabled?: boolean; /** * * @type {FailureReason} * @memberof Transaction */ failureReason?: FailureReason; /** * The total of all fees charged, in the transaction's currency. * @type {number} * @memberof Transaction */ readonly totalAppliedFees?: number; /** * * @type {CustomersPresence} * @memberof Transaction */ customersPresence?: CustomersPresence; /** * The date and time when the transaction failed. * @type {Date} * @memberof Transaction */ readonly failedOn?: Date; /** * The total amount that was refunded, in the transaction's currency. * @type {number} * @memberof Transaction */ readonly refundedAmount?: number; /** * The sum of all line item prices including taxes in the transaction's currency. * @type {number} * @memberof Transaction */ readonly authorizationAmount?: number; /** * The screen width of the customer's web browser. * @type {string} * @memberof Transaction */ readonly screenWidth?: string; /** * * @type {TransactionEnvironmentSelectionStrategy} * @memberof Transaction */ environmentSelectionStrategy?: TransactionEnvironmentSelectionStrategy; /** * The customer's email address. * @type {string} * @memberof Transaction */ readonly customerEmailAddress?: string; /** * The window height of the customer's web browser. * @type {string} * @memberof Transaction */ readonly windowHeight?: string; /** * * @type {TokenizationMode} * @memberof Transaction */ tokenizationMode?: TokenizationMode; /** * The date and time when the transaction must be authorized, otherwise it will canceled. * @type {Date} * @memberof Transaction */ readonly authorizationTimeoutOn?: Date; /** * The payment method brands that can be used to authorize the transaction. * @type {Array} * @memberof Transaction */ readonly allowedPaymentMethodBrands?: Array; /** * The date and time when the object was created. * @type {Date} * @memberof Transaction */ readonly createdOn?: Date; /** * Allow to store additional information about the object. * @type {{ [key: string]: string; }} * @memberof Transaction */ readonly metaData?: { [key: string]: string; }; /** * Whether email sending is deactivated for the transaction. Default is false. * @type {boolean} * @memberof Transaction */ readonly emailsDisabled?: boolean; /** * * @type {TransactionUserInterfaceType} * @memberof Transaction */ userInterfaceType?: TransactionUserInterfaceType; /** * The unique identifier of the customer in the external system. * @type {string} * @memberof Transaction */ readonly customerId?: string; /** * The three-letter code (ISO 4217 format) of the transaction's currency. * @type {string} * @memberof Transaction */ readonly currency?: string; /** * The merchant's reference used to identify the transaction. * @type {string} * @memberof Transaction */ readonly merchantReference?: string; /** * The sales channel through which the transaction was placed. * @type {number} * @memberof Transaction */ readonly authorizationSalesChannel?: number; /** * The number of years the transaction is kept after its authorization. * @type {number} * @memberof Transaction */ readonly yearsToKeep?: number; /** * The total amount that was completed, in the transaction's currency. * @type {number} * @memberof Transaction */ readonly completedAmount?: number; /** * The screen height of the customer's web browser. * @type {string} * @memberof Transaction */ readonly screenHeight?: string; /** * The IP address of the customer's device. * @type {string} * @memberof Transaction */ readonly internetProtocolAddress?: string; /** * * @type {PaymentTerminal} * @memberof Transaction */ terminal?: PaymentTerminal; /** * The date and time when the transaction reaches its end of live. No further actions can be carried out at this time. * @type {Date} * @memberof Transaction */ readonly endOfLife?: Date; /** * * @type {Token} * @memberof Transaction */ token?: Token; /** * * @type {Environment} * @memberof Transaction */ environment?: Environment; /** * The screen color depth of the customer's web browser. * @type {string} * @memberof Transaction */ readonly screenColorDepth?: string; /** * The ID of the user the transaction was created by. * @type {number} * @memberof Transaction */ readonly createdBy?: number; /** * The date and time when the transaction was completed. * @type {Date} * @memberof Transaction */ readonly completedOn?: Date; /** * The date and time when the transaction is completed automatically. * @type {Date} * @memberof Transaction */ readonly completionTimeoutOn?: Date; /** * * @type {Address} * @memberof Transaction */ shippingAddress?: Address; /** * * @type {Address} * @memberof Transaction */ billingAddress?: Address; /** * The date and time when the transaction was authorized. * @type {Date} * @memberof Transaction */ readonly authorizedOn?: Date; /** * The URL to redirect the customer back to after they canceled or failed to authenticated their payment. * @type {string} * @memberof Transaction */ readonly failedUrl?: string; } /** * Check if a given object implements the Transaction interface. */ export declare function instanceOfTransaction(value: object): value is Transaction; export declare function TransactionFromJSON(json: any): Transaction; export declare function TransactionFromJSONTyped(json: any, ignoreDiscriminator: boolean): Transaction; export declare function TransactionToJSON(json: any): Transaction; export declare function TransactionToJSONTyped(value?: Omit | null, ignoreDiscriminator?: boolean): any;