// tslint:disable
///
/**
* Payment Gateway API Specification.
* The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
*
* The version of the OpenAPI document: 21.5.0.20211029.001
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import * as globalImportUrl from 'url';
import { Configuration } from './configuration';
import globalAxios, { AxiosPromise, AxiosInstance } from 'axios';
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';
/**
* Encapsulates response data from the ACS.
* @export
* @interface ACSResponse
*/
export interface ACSResponse {
/**
* The ACS response to the CReq message. It can indicate the result of cardholder authentication or, in the case of an app-based model, also signal that further cardholder interaction is required to complete the authentication.
* @type {string}
* @memberof ACSResponse
*/
cRes?: string;
}
/**
* The processor address validation response for compliance.
* @export
* @interface AVSResponse
*/
export interface AVSResponse {
/**
* Response if street matches that on file.
* @type {string}
* @memberof AVSResponse
*/
streetMatch?: AVSResponseStreetMatchEnum;
/**
* Response if postal code matches that on file.
* @type {string}
* @memberof AVSResponse
*/
postalCodeMatch?: AVSResponsePostalCodeMatchEnum;
/**
* The raw address verification response code returned by issuer. Please refer to response codes section in developer portal for more info.
* @type {string}
* @memberof AVSResponse
*/
associationAvsResponse?: string;
}
/**
* @export
* @enum {string}
*/
export enum AVSResponseStreetMatchEnum {
Y = 'Y',
N = 'N',
NOINPUTDATA = 'NO_INPUT_DATA',
NOTCHECKED = 'NOT_CHECKED'
}
/**
* @export
* @enum {string}
*/
export enum AVSResponsePostalCodeMatchEnum {
Y = 'Y',
N = 'N',
NOINPUTDATA = 'NO_INPUT_DATA',
NOTCHECKED = 'NOT_CHECKED'
}
/**
* Access token generation request.
* @export
* @interface AccessTokenRequest
*/
export interface AccessTokenRequest {
/**
* Domain name.
* @type {string}
* @memberof AccessTokenRequest
*/
domain: string;
/**
* The token value.
* @type {string}
* @memberof AccessTokenRequest
*/
token: string;
/**
* Indicates whether public key is requested or not.
* @type {boolean}
* @memberof AccessTokenRequest
*/
publicKeyRequired: boolean;
}
/**
* Access token generation response.
* @export
* @interface AccessTokenResponse
*/
export interface AccessTokenResponse {
/**
* Access token for authentication.
* @type {string}
* @memberof AccessTokenResponse
*/
tokenId?: string;
/**
* The token status.
* @type {string}
* @memberof AccessTokenResponse
*/
status?: string;
/**
* Access token issued time in milliseconds.
* @type {string}
* @memberof AccessTokenResponse
*/
issuedOn?: string;
/**
* Access token expiration time.
* @type {string}
* @memberof AccessTokenResponse
*/
expiresInSeconds?: string;
/**
* Public key to encrypt data.
* @type {string}
* @memberof AccessTokenResponse
*/
publicKeyBase64?: string;
/**
* Encyption algorithym. One way ECDH 256 bit key.
* @type {string}
* @memberof AccessTokenResponse
*/
algorithm?: string;
/**
* Echoes back the value from the request header for tracking.
* @type {string}
* @memberof AccessTokenResponse
*/
clientRequestId?: string;
}
/**
* Request to look up card-related information such as issuer country, card function and card brand associated with a payment card or payment token. Abstract class, do not use this class directly, use one of its children.
* @export
* @interface AccountInfoLookupRequest
*/
export interface AccountInfoLookupRequest {
/**
* Object name of the account verification request.
* @type {string}
* @memberof AccountInfoLookupRequest
*/
requestType: string;
/**
* An optional outlet ID for clients that support multiple stores in the same app.
* @type {string}
* @memberof AccountInfoLookupRequest
*/
storeId?: string;
}
/**
* Details related to updated account information.
* @export
* @interface AccountUpdaterResponse
*/
export interface AccountUpdaterResponse {
/**
* Account updater replacement PAN or TransArmor token.
* @type {string}
* @memberof AccountUpdaterResponse
*/
updatedCard?: string;
/**
* Updated value of token.
* @type {string}
* @memberof AccountUpdaterResponse
*/
updatedToken?: string;
/**
* New account number expiration date in MMYY format.
* @type {string}
* @memberof AccountUpdaterResponse
*/
updatedExpirationDate?: string;
/**
* Status of the updated account. An account may have closed (C), the expiry date may have changed (E), the account may have changed (A), or the cardholder should be contacted (Q).
* @type {string}
* @memberof AccountUpdaterResponse
*/
updatedAccountStatus?: string;
/**
* Code for the error encountered when updating account.
* @type {string}
* @memberof AccountUpdaterResponse
*/
updatedAccountErrorCode?: string;
}
/**
* Request to verify payment card or payment token. Abstract class, do not use this class directly, use one of its children.
* @export
* @interface AccountVerificationRequest
*/
export interface AccountVerificationRequest {
/**
* Object name of the account verification request.
* @type {string}
* @memberof AccountVerificationRequest
*/
requestType: string;
/**
*
* @type {Address}
* @memberof AccountVerificationRequest
*/
billingAddress?: Address;
/**
* An optional outlet ID for clients that support multiple stores in the same app.
* @type {string}
* @memberof AccountVerificationRequest
*/
storeId?: string;
/**
* The unique merchant transaction ID from the request, if supplied.
* @type {string}
* @memberof AccountVerificationRequest
*/
merchantTransactionId?: string;
/**
*
* @type {AdditionalDetails}
* @memberof AccountVerificationRequest
*/
additionalDetails?: AdditionalDetails;
}
/**
* Request to create Credit primary transaction using ACH telecheck details.
* @export
* @interface AchCreditTransaction
*/
export interface AchCreditTransaction extends PrimaryTransaction {
/**
*
* @type {TeleCheckAchPaymentMethod}
* @memberof AchCreditTransaction
*/
paymentMethod: TeleCheckAchPaymentMethod;
}
/**
* Request to perform ACH telecheck post auth transaction.
* @export
* @interface AchPostAuthTransaction
*/
export interface AchPostAuthTransaction extends SecondaryTransaction {
/**
*
* @type {Amount}
* @memberof AchPostAuthTransaction
*/
transactionAmount: Amount;
}
/**
*
* @export
* @interface AchPostAuthTransactionAllOf
*/
export interface AchPostAuthTransactionAllOf {
/**
*
* @type {Amount}
* @memberof AchPostAuthTransactionAllOf
*/
transactionAmount: Amount;
}
/**
* Request to create pre-auth primary transaction using ACH telecheck details.
* @export
* @interface AchPreAuthTransaction
*/
export interface AchPreAuthTransaction extends PrimaryTransaction {
/**
*
* @type {TeleCheckAchPaymentMethod}
* @memberof AchPreAuthTransaction
*/
paymentMethod: TeleCheckAchPaymentMethod;
}
/**
*
* @export
* @interface AchPreAuthTransactionAllOf
*/
export interface AchPreAuthTransactionAllOf {
/**
*
* @type {TeleCheckAchPaymentMethod}
* @memberof AchPreAuthTransactionAllOf
*/
paymentMethod: TeleCheckAchPaymentMethod;
}
/**
* Identifies if the transaction is single or recurring for ACH transaction which is a optional field for Application Type ICA.
* @export
* @enum {string}
*/
export enum AchRecurringType {
Single = 'Single',
Recurring = 'Recurring'
}
/**
* ACH TeleCheck response.
* @export
* @interface AchResponse
*/
export interface AchResponse {
/**
* Response code for TeleCheck authentication decision in the sale response message.
* @type {string}
* @memberof AchResponse
*/
responseCode?: string;
/**
* Code provided if check is approved.
* @type {string}
* @memberof AchResponse
*/
approvalCode?: string;
/**
* Reference number.
* @type {string}
* @memberof AchResponse
*/
referenceNumber?: string;
/**
* Preferred flag.
* @type {string}
* @memberof AchResponse
*/
preferredFlag?: string;
/**
* Indicates the result of the requested authorization and is returned in the sale response.
* @type {string}
* @memberof AchResponse
*/
transactionStatus?: string;
}
/**
* Request to perform ACH TeleCheck return transaction. Note - If the ACH transaction to be refunded has not yet been sent to Telecheck, the original transaction will be automatically voided instead.
* @export
* @interface AchReturnTransaction
*/
export interface AchReturnTransaction extends SecondaryTransaction {
/**
*
* @type {Amount}
* @memberof AchReturnTransaction
*/
transactionAmount: Amount;
}
/**
* Request to create Sale primary transaction using ACH telecheck details.
* @export
* @interface AchSaleTransaction
*/
export interface AchSaleTransaction extends PrimaryTransaction {
/**
*
* @type {TeleCheckAchPaymentMethod}
* @memberof AchSaleTransaction
*/
paymentMethod: TeleCheckAchPaymentMethod;
}
/**
* Request to perform ACH void transaction.
* @export
* @interface AchVoidTransaction
*/
export interface AchVoidTransaction extends SecondaryTransaction {
/**
*
* @type {Amount}
* @memberof AchVoidTransaction
*/
transactionAmount: Amount;
}
/**
* Rate and corresponding amount being applied to purchase cards, for instance in the form of taxes, discounts, or duty.
* @export
* @interface AdditionalAmountRate
*/
export interface AdditionalAmountRate {
/**
* Amount in 3 decimal 12 bytes total digit.
* @type {number}
* @memberof AdditionalAmountRate
*/
amount: number;
/**
* Rate in 3 decimal 12 bytes total digit.
* @type {number}
* @memberof AdditionalAmountRate
*/
rate: number;
}
/**
* Merchant supplied tracking numbers.
* @export
* @interface AdditionalDetails
*/
export interface AdditionalDetails {
/**
* Comments for the payment.
* @type {string}
* @memberof AdditionalDetails
*/
comments?: string;
/**
* Invoice number.
* @type {string}
* @memberof AdditionalDetails
*/
invoiceNumber?: string;
/**
* Purchase order number.
* @type {string}
* @memberof AdditionalDetails
*/
purchaseOrderNumber?: string;
/**
* Merchant Reference Data 2.
* @type {string}
* @memberof AdditionalDetails
*/
mrchntRefData?: string;
/**
* The operator ID.
* @type {string}
* @memberof AdditionalDetails
*/
operatorId?: string;
/**
* The sales system ID.
* @type {string}
* @memberof AdditionalDetails
*/
salesSystemId?: string;
/**
* Indicates if the particular transaction is a deferred authorization.
* @type {boolean}
* @memberof AdditionalDetails
*/
ipgDeferredAuth?: boolean;
/**
* this is highRiskPurchaseIndicator.
* @type {boolean}
* @memberof AdditionalDetails
*/
highRiskPurchaseIndicator?: boolean;
/**
* Provides request information that is necessary to generate receipts.
* @type {Array}
* @memberof AdditionalDetails
*/
receipts?: Array;
/**
* Strong customer authentication exemption type indicator.
* @type {string}
* @memberof AdditionalDetails
*/
scaExemptionType?: AdditionalDetailsScaExemptionTypeEnum;
/**
* Eight-character Visa merchant identifier (VMID) assigned by Visa, required for trusted merchant and delegated authentication.
* @type {string}
* @memberof AdditionalDetails
*/
scaVisaMerchantID?: string;
/**
* Indicates the indended use of the Account Funding Transaction. For Visa Only.
* @type {string}
* @memberof AdditionalDetails
*/
businessApplicationIdentifier?: AdditionalDetailsBusinessApplicationIdentifierEnum;
}
/**
* @export
* @enum {string}
*/
export enum AdditionalDetailsScaExemptionTypeEnum {
LowValueExemption = 'Low Value Exemption',
TRAExemption = 'TRA Exemption',
TrustedMerchantExemption = 'Trusted Merchant Exemption',
SCPExemption = 'SCP Exemption',
DelegatedAuthentication = 'Delegated Authentication',
AuthenticationOutageException = 'Authentication Outage Exception'
}
/**
* @export
* @enum {string}
*/
export enum AdditionalDetailsBusinessApplicationIdentifierEnum {
BANKINITIATEDTRANSFER = 'BANK_INITIATED_TRANSFER',
WALLETTRANSFER = 'WALLET_TRANSFER',
ACCOUNTTOACCOUNT = 'ACCOUNT_TO_ACCOUNT',
TOPOFF = 'TOP_OFF',
FUNDTRANSFER = 'FUND_TRANSFER',
ZERODOLLARAUTHORIZATION = 'ZERO_DOLLAR_AUTHORIZATION'
}
/**
* Additional Response Data.
* @export
* @interface AdditionalResponseData
*/
export interface AdditionalResponseData {
/**
* Issuing Bank Name.
* @type {string}
* @memberof AdditionalResponseData
*/
issuingBankName?: string;
/**
* Country of Issuance.
* @type {string}
* @memberof AdditionalResponseData
*/
countryOfIssuance?: string;
/**
* Card Product ID.
* @type {string}
* @memberof AdditionalResponseData
*/
cardProductID?: string;
/**
* Detailed Product ID.
* @type {string}
* @memberof AdditionalResponseData
*/
detailedProductID?: string;
/**
* Association Response Code.
* @type {string}
* @memberof AdditionalResponseData
*/
associationResponseCodeAdtl?: string;
/**
* Card Brand.
* @type {string}
* @memberof AdditionalResponseData
*/
cardBrand?: string;
}
/**
* Additional transaction details for transaction response.
* @export
* @interface AdditionalTransactionDetails
*/
export interface AdditionalTransactionDetails {
/**
* Comment for the payment.
* @type {string}
* @memberof AdditionalTransactionDetails
*/
comments?: string;
/**
* Invoice number.
* @type {string}
* @memberof AdditionalTransactionDetails
*/
invoiceNumber?: string;
/**
* Purchase order number.
* @type {string}
* @memberof AdditionalTransactionDetails
*/
purchaseOrderNumber?: string;
/**
* The type of debit disbursement transaction.
* @type {string}
* @memberof AdditionalTransactionDetails
*/
disbursementTransType?: AdditionalTransactionDetailsDisbursementTransTypeEnum;
/**
* The wallet provider type.
* @type {string}
* @memberof AdditionalTransactionDetails
*/
walletProvider?: AdditionalTransactionDetailsWalletProviderEnum;
/**
* Provides receipt response data, if it has been requested.
* @type {Array}
* @memberof AdditionalTransactionDetails
*/
receipts?: Array;
/**
*
* @type {AdditionalResponseData}
* @memberof AdditionalTransactionDetails
*/
additionalResponseData?: AdditionalResponseData;
}
/**
* @export
* @enum {string}
*/
export enum AdditionalTransactionDetailsDisbursementTransTypeEnum {
FUNDING = 'FUNDING',
DISBURSEMENT = 'DISBURSEMENT'
}
/**
* @export
* @enum {string}
*/
export enum AdditionalTransactionDetailsWalletProviderEnum {
GOOGLEPAY = 'GOOGLE_PAY',
APPLEPAY = 'APPLE_PAY',
SAMSUNGPAY = 'SAMSUNG_PAY',
MASTERPASS = 'MASTERPASS'
}
/**
* Model for address information.
* @export
* @interface Address
*/
export interface Address {
/**
* Company name associated with the address.
* @type {string}
* @memberof Address
*/
company?: string;
/**
* First line of the street address.
* @type {string}
* @memberof Address
*/
address1?: string;
/**
* Second line of the street address.
* @type {string}
* @memberof Address
*/
address2?: string;
/**
* City or locality.
* @type {string}
* @memberof Address
*/
city?: string;
/**
* State or province.
* @type {string}
* @memberof Address
*/
region?: string;
/**
* ZIP code or postal code.
* @type {string}
* @memberof Address
*/
postalCode?: string;
/**
* ISO-3166-1 ALPHA-2, ALPHA-3, numeric or full country name. In the case of PaySecure endpoints, pass the country code in an ISO format. NOTE: Country required for following listed SEPA transactions: - SEPA DD transaction done with Local Payments (aka PPRO). - SEPA DD transaction done via POSEIDON and the IBAN belongs to the \'SE\' country group.
* @type {string}
* @memberof Address
*/
country?: string;
}
/**
* Additional data specific to the airline industry.
* @export
* @interface Airline
*/
export interface Airline {
/**
* The passenger name associated with the transaction.
* @type {string}
* @memberof Airline
*/
passengerName?: string;
/**
* The airline ticket number associated with the transaction.
* @type {string}
* @memberof Airline
*/
ticketNumber?: string;
/**
* The carrier that issued the ticket.
* @type {string}
* @memberof Airline
*/
issuingCarrier?: string;
/**
* The carrier associated with the transaction.
* @type {string}
* @memberof Airline
*/
carrierName?: string;
/**
* The IATA code associated with the travel agency.
* @type {string}
* @memberof Airline
*/
travelAgencyIataCode?: string;
/**
* The business name of the travel agency.
* @type {string}
* @memberof Airline
*/
travelAgencyName?: string;
/**
* The airline plan number associated with the transaction.
* @type {string}
* @memberof Airline
*/
airlinePlanNumber?: string;
/**
* The invoice number used by the airline.
* @type {string}
* @memberof Airline
*/
airlineInvoiceNumber?: string;
/**
* The reservation system used to create the ticket.
* @type {string}
* @memberof Airline
*/
reservationSystem?: AirlineReservationSystemEnum;
/**
* If the transaction is associated with a restricted class fare.
* @type {boolean}
* @memberof Airline
*/
restricted?: boolean;
/**
* Array containing up to 4 items that describe the route associated with the transaction.
* @type {Array}
* @memberof Airline
*/
travelRoute?: Array;
/**
* The number of any other tickets associated with the transaction ticket.
* @type {string}
* @memberof Airline
*/
relatedTicketNumber?: string;
/**
* Identify the purchase of ancillary goods or services with a false value. If this element is not provided, the transaction is assumed to be a purchase of an airline ticket.
* @type {Array}
* @memberof Airline
*/
ancillaryServiceCategory?: Array;
/**
* Identifies if the transaction is a ticket purchase.
* @type {boolean}
* @memberof Airline
*/
ticketPurchase?: boolean;
}
/**
* @export
* @enum {string}
*/
export enum AirlineReservationSystemEnum {
START = 'START',
TWA = 'TWA',
DELTA = 'DELTA',
SABRE = 'SABRE',
COVIAAPOLLO = 'COVIA_APOLLO',
DRBLANK = 'DR_BLANK',
DER = 'DER',
TUI = 'TUI'
}
/**
*
* @export
* @interface AirlineAncillaryServiceCategory
*/
export interface AirlineAncillaryServiceCategory {
/**
* Identifies the service purchased in the transaction if not a base ticket
* @type {string}
* @memberof AirlineAncillaryServiceCategory
*/
serviceCategory: AirlineAncillaryServiceCategoryServiceCategoryEnum;
}
/**
* @export
* @enum {string}
*/
export enum AirlineAncillaryServiceCategoryServiceCategoryEnum {
BUNDLEDSERVICE = 'BUNDLED_SERVICE',
BAGGAGEFEE = 'BAGGAGE_FEE',
CHANGEFEE = 'CHANGE_FEE',
CARGO = 'CARGO',
CARBONOFFSET = 'CARBON_OFFSET',
FREQUENTFLYER = 'FREQUENT_FLYER',
GIFTCARD = 'GIFT_CARD',
GROUNDTRANSPORT = 'GROUND_TRANSPORT',
INFLIGHTENTERTAINMENT = 'IN_FLIGHT_ENTERTAINMENT',
LOUNGE = 'LOUNGE',
MEDICAL = 'MEDICAL',
MEALBEVERAGE = 'MEAL_BEVERAGE',
OTHER = 'OTHER',
PASSENGERASSISTFEE = 'PASSENGER_ASSIST_FEE',
PETS = 'PETS',
SEATFEES = 'SEAT_FEES',
STANDBY = 'STANDBY',
SERVICEFEE = 'SERVICE_FEE',
STORE = 'STORE',
TRAVELSERVICE = 'TRAVEL_SERVICE',
UNACCOMPANIEDTRAVEL = 'UNACCOMPANIED_TRAVEL',
UPGRADES = 'UPGRADES',
WIFI = 'WI_FI'
}
/**
* Additional information about the route.
* @export
* @interface AirlineTravelRoute
*/
export interface AirlineTravelRoute {
/**
* Date of departure.
* @type {string}
* @memberof AirlineTravelRoute
*/
departureDate?: string;
/**
* The IATA code for the departure airport.
* @type {string}
* @memberof AirlineTravelRoute
*/
origin?: string;
/**
* The IATA code for the destination. airport.
* @type {string}
* @memberof AirlineTravelRoute
*/
destination?: string;
/**
* The IATA code for the carrier.
* @type {string}
* @memberof AirlineTravelRoute
*/
carrierCode?: string;
/**
* The airline code for the service class of the ticket.
* @type {string}
* @memberof AirlineTravelRoute
*/
serviceClass?: string;
/**
* Indicates whether the route is direct.
* @type {string}
* @memberof AirlineTravelRoute
*/
stopoverType?: AirlineTravelRouteStopoverTypeEnum;
/**
* The airline fare basis code.
* @type {string}
* @memberof AirlineTravelRoute
*/
fareBasisCode?: string;
/**
* Fee charged by a country when a person leaves the country.
* @type {number}
* @memberof AirlineTravelRoute
*/
departureTax?: number;
/**
* The airline flight number associated with the ticket.
* @type {string}
* @memberof AirlineTravelRoute
*/
flightNumber?: string;
}
/**
* @export
* @enum {string}
*/
export enum AirlineTravelRouteStopoverTypeEnum {
DIRECT = 'DIRECT',
STOPOVER = 'STOPOVER'
}
/**
* The payment object for AliPay transactions. Use this to populate AliPay payment method details.
* @export
* @interface AliPay
*/
export interface AliPay {
/**
* Use this to indicate the type of machine-readable payment data for scanning.
* @type {string}
* @memberof AliPay
*/
paymentDataType: AliPayPaymentDataTypeEnum;
/**
* Use this to send payment-related information, such as customer identity ID.
* @type {string}
* @memberof AliPay
*/
paymentData: string;
/**
* Use this to send an order title that shows up in the statement.
* @type {string}
* @memberof AliPay
*/
orderTitle: string;
/**
* Use this to send order details that show up in the statement.
* @type {string}
* @memberof AliPay
*/
orderDetails: string;
}
/**
* @export
* @enum {string}
*/
export enum AliPayPaymentDataTypeEnum {
BARCODE = 'BARCODE',
QRCODE = 'QRCODE'
}
/**
* Payment method containing AliPay information.
* @export
* @interface AliPayPaymentMethod
*/
export interface AliPayPaymentMethod {
/**
*
* @type {AliPay}
* @memberof AliPayPaymentMethod
*/
aliPay: AliPay;
}
/**
*
* @export
* @interface AliPayPaymentMethodAllOf
*/
export interface AliPayPaymentMethodAllOf {
/**
*
* @type {AliPay}
* @memberof AliPayPaymentMethodAllOf
*/
aliPay: AliPay;
}
/**
* Request to create sale transaction using AliPay.
* @export
* @interface AliPaySaleTransaction
*/
export interface AliPaySaleTransaction extends PrimaryTransaction {
/**
*
* @type {AliPayPaymentMethod}
* @memberof AliPaySaleTransaction
*/
paymentMethod: AliPayPaymentMethod;
}
/**
*
* @export
* @interface AliPaySaleTransactionAllOf
*/
export interface AliPaySaleTransactionAllOf {
/**
*
* @type {AliPayPaymentMethod}
* @memberof AliPaySaleTransactionAllOf
*/
paymentMethod: AliPayPaymentMethod;
}
/**
* Amount of the transaction.
* @export
* @interface Amount
*/
export interface Amount {
/**
* Sub component values must add up to total amount.
* @type {number}
* @memberof Amount
*/
total: number;
/**
* ISO 4217 currency code.
* @type {string}
* @memberof Amount
*/
currency: string;
/**
*
* @type {AmountComponents}
* @memberof Amount
*/
components?: AmountComponents;
}
/**
* Transaction amounts with multiple components.
* @export
* @interface AmountComponents
*/
export interface AmountComponents {
/**
* Subtotal amount.
* @type {number}
* @memberof AmountComponents
*/
subtotal?: number;
/**
* Value-added tax amount.
* @type {number}
* @memberof AmountComponents
*/
vatAmount?: number;
/**
* Local tax amount.
* @type {number}
* @memberof AmountComponents
*/
localTax?: number;
/**
* Shipping amount.
* @type {number}
* @memberof AmountComponents
*/
shipping?: number;
/**
* Cashback amount.
* @type {number}
* @memberof AmountComponents
*/
cashback?: number;
/**
* Tip amount.
* @type {number}
* @memberof AmountComponents
*/
tip?: number;
/**
* Surcharge amount.
* @type {number}
* @memberof AmountComponents
*/
surcharge?: number;
}
/**
* Payment method containing APM specific information, which is intentionally weakly-typed to allow for reduced coupling of APM plugins.
* @export
* @interface ApmPaymentMethod
*/
export interface ApmPaymentMethod {
/**
*
* @type {PaymentMethodType}
* @memberof ApmPaymentMethod
*/
type: PaymentMethodType;
/**
* All steps (already) performed on the payment
* @type {Array}
* @memberof ApmPaymentMethod
*/
steps?: Array;
}
/**
*
* @export
* @interface ApmPaymentMethodAllOf
*/
export interface ApmPaymentMethodAllOf {
/**
*
* @type {PaymentMethodType}
* @memberof ApmPaymentMethodAllOf
*/
type: PaymentMethodType;
/**
* All steps (already) performed on the payment
* @type {Array}
* @memberof ApmPaymentMethodAllOf
*/
steps?: Array;
}
/**
* Request to create sale transaction using an alternative payment method (see methods supported by this transaction type below).
* @export
* @interface ApmSaleTransaction
*/
export interface ApmSaleTransaction extends PrimaryTransaction {
/**
*
* @type {ApmPaymentMethod}
* @memberof ApmSaleTransaction
*/
paymentMethod: ApmPaymentMethod;
}
/**
*
* @export
* @interface ApmSaleTransactionAllOf
*/
export interface ApmSaleTransactionAllOf {
/**
*
* @type {ApmPaymentMethod}
* @memberof ApmSaleTransactionAllOf
*/
paymentMethod: ApmPaymentMethod;
}
/**
* Request authentication of the payment card to verify the cardholder and be eligible for liability shift. An AuthenticationRequest should not be submitted with in the same request as an AuthenticationResult. Abstract class, do not use this class directly, use one of its children.
* @export
* @interface AuthenticationRequest
*/
export interface AuthenticationRequest {
/**
* Indicates what kind of authentication scheme the merchant wants to use on the card.
* @type {string}
* @memberof AuthenticationRequest
*/
authenticationType: string;
}
/**
* Submit the result of 3DS authentication managed outside of the gateway. An AuthenticationResult should not be submitted within the same request as an AuthenticationRequest. Abstract class, do not use this class directly, use one of its children.
* @export
* @interface AuthenticationResult
*/
export interface AuthenticationResult {
/**
* Specifies the version of 3DS to be used where authentication was managed outside of the gateway.
* @type {string}
* @memberof AuthenticationResult
*/
authenticationType: string;
}
/**
* Provides shared fields for all AuthenticationUpdateRequest types. Abstract class, do not use this class directly, use one of its children.
* @export
* @interface AuthenticationUpdateRequest
*/
export interface AuthenticationUpdateRequest {
/**
* An optional Outlet ID for clients that support multiple stores in the same developer app.
* @type {string}
* @memberof AuthenticationUpdateRequest
*/
storeId?: string;
/**
* Object name of the authentication update request.
* @type {string}
* @memberof AuthenticationUpdateRequest
*/
authenticationType: string;
/**
*
* @type {Address}
* @memberof AuthenticationUpdateRequest
*/
billingAddress?: Address;
}
/**
* List of available currencies for a store.
* @export
* @interface AvailableCurrenciesResponse
*/
export interface AvailableCurrenciesResponse {
/**
* Echoes back the value in the request header for tracking.
* @type {string}
* @memberof AvailableCurrenciesResponse
*/
clientRequestId?: string;
/**
* Request identifier in API, can be used to request logs from the support team.
* @type {string}
* @memberof AvailableCurrenciesResponse
*/
apiTraceId?: string;
/**
*
* @type {ResponseType}
* @memberof AvailableCurrenciesResponse
*/
responseType?: ResponseType;
/**
*
* @type {Array}
* @memberof AvailableCurrenciesResponse
*/
currencies?: Array;
}
/**
* Bancontact QR information.
* @export
* @interface BancontactQR
*/
export interface BancontactQR {
/**
* Transaction Routing Means.
* @type {string}
* @memberof BancontactQR
*/
transactionRoutingMeans: BancontactQRTransactionRoutingMeansEnum;
/**
* Issuer Customer Reference.
* @type {string}
* @memberof BancontactQR
*/
issuerCustomerReference?: string;
}
/**
* @export
* @enum {string}
*/
export enum BancontactQRTransactionRoutingMeansEnum {
QRCode = 'QR Code',
URLIntent = 'URL Intent'
}
/**
* Contains apiTraceId and clientRequestId shared in all response types.
* @export
* @interface BasicResponse
*/
export interface BasicResponse {
/**
* Echoes back the value in the request header for tracking.
* @type {string}
* @memberof BasicResponse
*/
clientRequestId?: string;
/**
* Request identifier in API, can be used to request logs from the support team.
* @type {string}
* @memberof BasicResponse
*/
apiTraceId?: string;
/**
*
* @type {ResponseType}
* @memberof BasicResponse
*/
responseType?: ResponseType;
}
/**
* Indicates basket of items.
* @export
* @interface Basket
*/
export interface Basket {
/**
* Product stock.
* @type {string}
* @memberof Basket
*/
productStock?: BasketProductStockEnum;
/**
* The list of items included in the order.
* @type {Array}
* @memberof Basket
*/
items?: Array;
}
/**
* @export
* @enum {string}
*/
export enum BasketProductStockEnum {
Check = 'check'
}
/**
* Item details.
* @export
* @interface BasketItem
*/
export interface BasketItem {
/**
* A unique ID associated with the product.
* @type {string}
* @memberof BasketItem
*/
id?: string;
/**
* A name or short description of the product.
* @type {string}
* @memberof BasketItem
*/
description?: string;
/**
* Subtotal amount.
* @type {number}
* @memberof BasketItem
*/
subTotal?: number;
/**
* Value added tax amount.
* @type {number}
* @memberof BasketItem
*/
valueAddedTax?: number;
/**
* Local tax amount.
* @type {number}
* @memberof BasketItem
*/
localTax?: number;
/**
* Delivery amount.
* @type {number}
* @memberof BasketItem
*/
deliveryAmount?: number;
/**
* Charge Total amount.
* @type {number}
* @memberof BasketItem
*/
chargeTotal?: number;
/**
* The currency of the original transaction.
* @type {string}
* @memberof BasketItem
*/
currency?: string;
/**
* The unit in which the product is sold (e.g. litre, kilogram, etc). Leave empty if the product is sold as a complete unit.
* @type {number}
* @memberof BasketItem
*/
quantity?: number;
/**
* Category of the product.
* @type {string}
* @memberof BasketItem
*/
category?: string;
/**
* Detailed Category of the product.
* @type {string}
* @memberof BasketItem
*/
detailedCategory?: string;
/**
* Option details
* @type {Array