---
title: "Initiate a payment"
method: POST
path: "/api/v2/transactions/card"
tags: ["Ecom Payments"]
---

# Initiate a payment

`POST /api/v2/transactions/card`

Initiate a card payment or card verification request when amount is set to 0 (zero).

 <b>Transactions business models</b>

| Business model | Transaction type | Shopper Interaction | Stored Credential Contract | Stored Credential Processing Model |
| -------------- | ---------------- | ------------------- | ------------------ | -------------------------- |
| Online purchase with shopper present | One-off online purchase without storing card payment details for future use.| `ECOMMERCE` | | |
| Online purchase with shopper present | Online purchase where shopper agrees to store card details for future use. This can be a zero-value transaction account verification.| `ECOMMERCE` |  | `CREDENTIAL_ON_FILE` |
| Online purchase with shopper present | Online purchase where shopper uses previously stored card payment details.| `ECOMMERCE` | `ONE_CLICK` | `CREDENTIAL_ON_FILE` |
| Subscriptions | Initial transaction to sign up for a subscription.| `ECOMMERCE` |  | `RECURRING` |
| Subscriptions | Subsequent subscription charge. | `ECOMMERCE` | `MERCHANT_INITIATED` | `RECURRING` |
| Non-fixed in time contracts (such as auto account top-ups) | Initial transaction to sign up for the terms and conditions of later subsequent charges. | `ECOMMERCE` |  | `UNSCHEDULED_CREDENTIAL_ON_FILE` |
| Non-fixed in time contracts (such as auto account top-ups) | Subsequent charges as described in the initial terms and conditions during the sign-up transaction. | `ECOMMERCE` | `MERCHANT_INITIATED` | `UNSCHEDULED_CREDENTIAL_ON_FILE` |

## Headers

- `x-vfi-api-idempotencykey` string, uuid — A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.

## Request body

- union
  - EncryptedCardPaymentRequest
    - `payment_provider_contract` string, uuid-flexible, required — The identifier of payment provider contract you want to process the transaction request with.
    - `amount` integer, required — Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.
    - `auth_type` 'PRE_AUTH' | 'FINAL_AUTH' — Flags a payment request for either pre-authorization or final authorization. * `PRE_AUTH` is used when the authorized amount is unknown and can be adjusted later. * `FINAL_AUTH` is used when a final authorized amount is known and the transaction will definitely be captured in whole.
    - `capture_now` boolean — Whether auto-capture or not. Setting the value to 'false' will only authorize the transaction.
    - `customer` string, uuid-flexible — The ID of a customer.
    - `customer_ip` union — The IP Address of the customer where the transaction was initiated.
      - string, ipv4
      - string, ipv6
    - `dynamic_descriptor` string — A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
    - `invoice_number` string — Optional. The invoice number to track this payment.
    - `merchant_reference` string — A reference specified by the merchant to identify the transaction.
    - `threed_authentication` ThreedAuthenticationDto
      - `eci_flag` '05' | '06' | '07' | '02' | '01' | '00' — Electronic Commerce Indicator (ECI). The ECI value is part of the 2 data elements that indicate the transaction was processed electronically.This should be passed on the authorization transaction to the Gateway/Processor.Please refer to the integration guide for information on its usage.
      - `enrolled` 'Y' | 'N' | 'U' | 'B' — The enrolment response status of Authentication eligibility from the Directory Server. Possible Values: * `Y` - Yes, Bank is participating in 3-D Secure protocol and will return the ACSUrl. * `N` - No, Bank is not participating in 3-D Secure protocol. * `U` - Unavailable, the DS or ACS is not available for authentication at the time of the request. * `B` - Bypass, merchant authentication rule is triggered to bypass authentication in this use case. NOTE: If the Enrolled value is NOT Y, then the Consumer is NOT eligible for Authentication.
      - `cavv` string — Cardholder Authentication Verification Value (CAVV). Base64-encoded values of 28 or 32 characters. Hex-encoded values of 40 or 48 characters.
      - `cavv_algorithm` string — The algorithm used to generate the CAVV value. Supported for 3D Secure v1 only.
      - `pares_status` 'Y' | 'N' | 'U' | 'A' | 'C' | 'R' — Authentication response code. Possible Values: * `Y` - Successful Authentication. * `N` - Failed Authentication. * `U` - Unable to Complete Authentication * `A` - Successful Attempts Transaction. * `C` - Challenge Required for Authentication. * `R` - Authentication Rejected.
      - `xid` string — The transaction identifier assigned by Directory Server. Supported for 3D Secure v1 only.
      - `threeds_version` '1.0.2' | '2.1.0' | '2.2.0' — The 3DS version used to process the transaction.
      - `ds_transaction_id` string — The unique transaction identifier assigned by the Directory Server. Supported for 3D Secure v2 only.
      - `signature_verification` 'Y' | 'N' — Transaction Signature status identifier. Possible Values: * `Y` - Indicates that the signature of the PARes has been validated successfully and the message contents can be trusted. * `N` - Indicates that the PARes could not be validated. This result could be for a variety of reasons; tampering, certificate expiration, etc., and the result should not be trusted.
      - `verification` string[] — Any verification/authentication responses captured as part of the submission of the transaction. e.g. 3DS response values or ACRQ/ARCP. For some mPos transactions the verification may be performed on-device e.g. ApplePay, Face ID or Touch ID.
      - `error_desc` string — Application error description for the associated error number(s). NOTE: Multiple error descriptions are separated by a comma.
      - `error_no` string — Application error number(s). A non-zero value represents the error encountered while attempting to process the message request. NOTE: Multiple error numbers are separated by a comma.
      - `authentication_amount` integer — Amount is charged without a decimal place e.g. $1.5 = 150. The required number of decimal places for a currency code is according to ISO 4217. For Account Verification transactions, provide 0 as value for this field.
      - `additional_data` AdditionalDataDto
        - `total_items` number — Number of purchased items or services.
        - `device_channel` 'SDK' | 'BROWSER' — Determines the channel that the transaction came through.
        - `status_reason` string — Provides additional information as to why the PAResStatus has the specific value. **NOTE**: Required for Payment (e.g. Authentication Indicator equals 01 on Lookup Request) transactions when PAResStatus is equal to N, U, or R in the Lookup Response.
        - `challenge_indicator` '01' | '02' | '03' | '04' | '90' — This is a 2.0 required field. Possible values are: * `01` No preference * `02` No challenge requested * `03` Challenge requested (3DS Requestor preference) * `04` Challenge requested (Mandate) * `90` Used to call the CB Scoring platform
        - `challenge_cancel` '01' | '02' | '03' | '04' | '05' | '06' | '07' — Indicator informing the ACS and the DS that the authentication has been cancelled. Possible values are: * `01` Cardholder selected “Cancel” * `02` 3DS Requestor cancelled Authentication. * `03` Transaction Abandoned * `04` Transaction Timed Out at ACS — other timeouts * `05` Transaction Timed Out at ACS — First CReq not received by ACS * `06` Transaction Error * `07` Unknown
        - `acs_url` string — The fully qualified URL to redirect the Consumer to complete the Consumer Authentication transaction. **NOTE**: Available if Enrolled = Y
        - `acs_operator_id` string — DS assigned ACS identifier. Each DS can provide a unique ID to each ACS on an individual basis.
        - `network_score` string, number — The global score calculated by the CB Scoring platform.
        - `reason_code` string — The error code indicating a problem with this transaction.
        - `reason_desc` string — Text and additional detail about the error for this transaction. NOTE: This field concatenates the errorDescription and errorDetail from the authentication response message.
    - `stored_credential` object — The definition of a stored credential payment.
      - `stored_credential_type` 'SIGNUP' | 'CHARGE', required — The definition of a stored credential payment.
      - `processing_model_details` ProcessingModelDetailsDto, required
        - `total_payment_number` number — Total paymant Number.
        - `total_payment_amount` number — total Payment Amount.
        - `first_payment_amount` number — first Payment Amount.
        - `payment_frequency` PaymentFrequency
          - `time_unit` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', required — Processing model to use for COF transaction. Refer to the card integration guide for more information on the usage.
          - `value` number — Value.
        - `processing_model` 'UNSCHEDULED_CREDENTIAL_ON_FILE' | 'CREDENTIAL_ON_FILE' | 'RECURRING' | 'NONE' | 'REAUTHORIZATION', required — Processing model to use for COF transaction. Refer to the card integration guide for more information on the usage.
        - `merchant_signup_code` string — A pre-defined signup code between the merchant and the acquirer.
        - `current_payment_number` number — The current number of recurring payments.
        - `amount_fixed` boolean — Set `true` to indicate that recurring charges are of the same amount (often used for subscriptions), and set `false` to indicate variable amount between charges (often used for standing orders with fixed schedule).
      - `first_payment` boolean — Whether auto-capture or not. Setting this to 'false' will only authorize the transaction.
      - `scheme_reference` string — Scheme Reference Data returned in the initial transaction
    - `shipping_information` object — The address where the purchased goods should be delivered to. <br><b>Please use customer_details.shipping.</b>
      - `address` string, required — Street address of the recipient.
      - `city` string, required — City of the recipient.
      - `country` string, country-code, required — A 2-letter ISO3166 alpha-2 country code for the address.
      - `postal_code` string, required — A postal code for the address.
      - `email` string, email — A valid internationalized email address, as defined by RFC 5322, RFC 6530, and other RFCs. Due to RFC 5321, an email address can be up to 254 characters long even though up to 64 characters are allowed before and 255 characters are allowed after the @ sign. This pattern verifies only that the string contains an unquoted @ sign. See https://tools.ietf.org/html/rfc5322#section-3.4.1.
      - `first_name` string — First name of the recipient.
      - `last_name` string — Last name of the recipient.
      - `phone` number — Numbers only, no dash or any other separator.
      - `state` string — A region / state / province for the address.
    - `customer_details` CustomerDetailsDto — Customer information containing billing and shipping details.
      - `title` string — The prefix to the party name. This is sometimes referred to as a title, salutation or appellation.
      - `first_name` string — The first name of the Customer. This may be a proper name or some form of entity name or nickname.
      - `middle_name` string — The middle name of the Customer. This may be a proper name or some form of entity name or nickname.
      - `last_name` string — The last name or family name of the Customer.
      - `company_name` string — Where the Customer is an organisation or company this name should be used rather than the firstName lastName
      - `phone_number` string — Customers phone number for billing address.
      - `email_address` string, email — Customer email address, which might be used during refund flow.
      - `shipping` CustomerDetailsShippingInformationDto — The address where the purchased goods should be delivered to.
        - `address` string, required — Street address of the recipient.
        - `city` string, required — City of the recipient.
        - `country` string, country-code, required — A 2-letter ISO3166 alpha-2 country code for the address.
        - `postal_code` string, required — A postal code for the address.
        - `email` string, email — A valid internationalized email address, as defined by RFC 5322, RFC 6530, and other RFCs. Due to RFC 5321, an email address can be up to 254 characters long even though up to 64 characters are allowed before and 255 characters are allowed after the @ sign. This pattern verifies only that the string contains an unquoted @ sign. See https://tools.ietf.org/html/rfc5322#section-3.4.1.
        - `first_name` string — First name of the recipient.
        - `last_name` string — Last name of the recipient.
        - `phone` string — Telephone number.
        - `state` string — A region / state / province for the address.
      - `billing` object — The address of billing.
        - `address_1` string — Customer's primary billing address information.
        - `address_2` string — Customer's secondary billing address information.
        - `address_3` string — Customer's third billing address information.
        - `city` string — Customer's city on their billing address
        - `country` 'ZZ' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — The ISO 3166-1 alpha-3 country code.
        - `phone` string — Customer's phone number for billing address. This should be un formatted without hyphens. (e.g. 4422345678)
        - `postal_code` string — Customer's postal code of their billing address.
        - `state` string — Customer's state or province of their billing address. (e,g. Ohio = OH, Texas = TX)
      - `language` string — The BCP-47 language tag. The tag is composed of: * The ISO-639 alpha-1 or ISO-639 alpha-2 language code * (Optional) The ISO-15924 script tag * The ISO-3166 alpha-2 country code `NOTE:`The value is case-insensitive, so for example "he" and "HE" should be considered equal.
    - `shopper_interaction` 'ECOMMERCE' | 'MAIL' | 'TELEPHONE' — Determines the sales channel the shopper gives their card details through: * `ECOMMERCE` Online transactions where the cardholder is present. * `MAIL` order transactions where the shopper is in contact with the merchant via email. * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
    - `user_agent` string — The full user agent string of the device the customer used to submit the transaction.
    - `sales_description` string — A reference used by the merchant to typically capture a description of the service provided. It could then be used by the merchant to help locate transactions. One could envision a situation where a merchant is trying to locate a transaction/ receipt but in speaking with the customer, the only (or at least a predominant) detail is what service was rendered
    - `sca_exemption` '1' | '2' | '3' | '4' | '5' | '6' — Use this field to request your transaction to be exempted from the application of the Strong Customer Authentication (SCA). Be advised that the use of this field may result to your liability in case of fraudulent transaction. Possible Values: 1 - Low value payment 2 - Acquirer Transaction Risk Analysis 3 - Trusted beneficiary exemption 4 - Secure Corporate Payment (SCP) exemption 5 - Merchant Initiated Transaction 6 - SCA Delegation
    - `currency_code` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XTS' | 'XXX' | 'YER' | 'ZAR' | 'ZMK' | 'ZMW' | 'BTC', required — Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
    - `card_brand` string — Represents a Card type or brand. It should correspond to a consistent name, the list of standard names is as follows: Value | Description ------|------------- AMEX|American Express CB|Carte Bancaires DINERS|Diners Club International DISCOVER|Diners Club Discover JCB|Japan Credit Bureau MAESTRO|Multi-national Debit (MasterCard) MASTERCARD|MasterCard VISA|Visa UPI|Union Pay International GIFT_CARD|Gift Card (Generic) PLCC|Private Label Credit Card **Other local schemes as applicable**. Enter a pre-defined name to represent the scheme or type. **Note**: 1. For gift cards, card brand is mandatory and the value should be GIFT_CARD. 2. This parameter is mandatory for dual branded cards.
    - `brand_choice` 'MERCHANT' | 'CARDHOLDER' — For dual-branded cards identifies whether selection is made by a cardholder or merchant.
    - `credit_term` 'STANDARD' | 'PREFERED' | 'DEBIT' | 'INSTALMENT_STANDARD' | 'INSTALMENT_CREDIT' — An indicator to show under which terms the credit was provided.
    - `instalment` InstalmentDto
      - `down_payment_amount` number — The value, which can be anything from: An integer - for currencies that are not typically fractional, such as JPY. A three-place decimal fraction - for currencies that are subdivided into thousandths, such as TND. An eight-place decimal fraction - for currencies such as Bitcoin. For the required number of decimal places for a currency code, see ISO 4217
      - `number_of_instalments` number — The number of individual parts that the total amount should be paid in.
      - `instalment_amount` number — The value, which can be anything from: An integer - for currencies that are not typically fractional, such as JPY. A three-place decimal fraction - for currencies that are subdivided into thousandths, such as TND. An eight-place decimal fraction - for currencies such as Bitcoin. For the required number of decimal places for a currency code, see ISO 4217
    - `refusal_reason` 'ACQUIRER_COMMS_FAILURE' | 'ACQUIRER_REFUSED' | 'CARD_BRAND_NOT_ACCEPTED' | 'CARD_EXPIRED' | 'CARD_NOT_ACCEPTED' | 'CARD_NOT_VALID' | 'CARD_PRODUCT_NOT_ACCEPTED' | 'ORIGINAL_TRANSACTION_NOT_FOUND' | 'INVALID_BIN' | 'PARTIAL_AUTH_NOT_ALLOWED' | 'RECEIPT_FAILURE' | 'REFUND_NOT_ACCEPTED' | 'THREEDSECURE_FAILED_ACS' | 'THREEDSECURE_FAILED_AUTH' | 'THREEDSECURE_FAILED_COMMS' | 'UNAPPROVED_OPERATOR' | 'UNKNOWN_REASON' — The reason a transaction has been refused within the payment ecosystem by the client/Verifone/acquirer. This needs to be set by the component that is refusing this transaction request.
    - `encrypted_card` string, required — The cardholder data encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode. The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. This should be a single JSON line and should not contain any spaces. Read <a target="_blank" style="color:blue;" href="https://docs.verifone.com/online-payments/api-integration-methods-auth-and-endpoints/secure-card-capture-key">Secure card capture key</a> for details. Additionally, a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z. Encrypted card is valid for only 15 minutes.
    - `token_preference` TokenPreferenceDto
      - `token_scope` string, uuid, required — The token scope under which this token was created.
      - `reuse_token_type` 'CHASE' | 'INTERNAL' | 'TAVE' — The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.<br> **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
      - `token_type` 'REUSE' | 'ANALYTICS' | 'REUSE_AND_ANALYTICS' — Token type
      - `token_expiry_date` string, date — When this Token will expire.
    - `encrypted_svc_access_code` string — The SVC Access Code encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode. The data to encrypt is a JSON with tag svcAccessCode. Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.
    - `public_key_alias` string, required — The alias for the public key used to encrypt this card.
    - `promo_code` string — A code defined by the merchant that affects the calculation of the total amount.
    - `promo_financing_details` PromoFinancingDetails — Additional details of the special financing offers to customers using private label cards, typically in combination with `promo_code` field.
      - `promoFinancingType` 'PROMO_APR' | 'PROMO_AND_AFTER_APR' — Type of special financing information requested. Promotional information may be requested for duration of the promo only (`PROMO_APR`) or for during and after promo period (`PROMO_AND_AFTER_APR`).",
      - `promoPlan` string — The code or name of a promotional financing plan as set up between merchant and issuer.
      - `promoPlanExpiry` string, date — Expiry date for the requested promo plan.
    - `purchase_order_number` string — The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme). This field is part of so-called Level 2 data.
    - `tax_indicator` 'TAX_PROVIDED' | 'TAX_NOT_PROVIDED' | 'NON_TAXABLE' — This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data. If the value `TAX_PROVIDED` is sent, `tax_amount` should also be provided
    - `receipt_type` 'FULL_RECEIPT' | 'INVOICE' | 'INVOICE_RECEIPT' | 'SIMPLE_RECEIPT' | 'NONE' — Defines the type of receipt to be generated
  - TokenPaymentRequest
    - `payment_provider_contract` string, uuid-flexible, required — The identifier of payment provider contract you want to process the transaction request with.
    - `amount` integer, required — Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.
    - `auth_type` 'PRE_AUTH' | 'FINAL_AUTH' — Flags a payment request for either pre-authorization or final authorization. * `PRE_AUTH` is used when the authorized amount is unknown and can be adjusted later. * `FINAL_AUTH` is used when a final authorized amount is known and the transaction will definitely be captured in whole.
    - `capture_now` boolean — Whether auto-capture or not. Setting the value to 'false' will only authorize the transaction.
    - `customer` string, uuid-flexible — The ID of a customer.
    - `customer_ip` union — The IP Address of the customer where the transaction was initiated.
      - string, ipv4
      - string, ipv6
    - `dynamic_descriptor` string — A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
    - `invoice_number` string — Optional. The invoice number to track this payment.
    - `merchant_reference` string — A reference specified by the merchant to identify the transaction.
    - `threed_authentication` ThreedAuthenticationDto
      - `eci_flag` '05' | '06' | '07' | '02' | '01' | '00' — Electronic Commerce Indicator (ECI). The ECI value is part of the 2 data elements that indicate the transaction was processed electronically.This should be passed on the authorization transaction to the Gateway/Processor.Please refer to the integration guide for information on its usage.
      - `enrolled` 'Y' | 'N' | 'U' | 'B' — The enrolment response status of Authentication eligibility from the Directory Server. Possible Values: * `Y` - Yes, Bank is participating in 3-D Secure protocol and will return the ACSUrl. * `N` - No, Bank is not participating in 3-D Secure protocol. * `U` - Unavailable, the DS or ACS is not available for authentication at the time of the request. * `B` - Bypass, merchant authentication rule is triggered to bypass authentication in this use case. NOTE: If the Enrolled value is NOT Y, then the Consumer is NOT eligible for Authentication.
      - `cavv` string — Cardholder Authentication Verification Value (CAVV). Base64-encoded values of 28 or 32 characters. Hex-encoded values of 40 or 48 characters.
      - `cavv_algorithm` string — The algorithm used to generate the CAVV value. Supported for 3D Secure v1 only.
      - `pares_status` 'Y' | 'N' | 'U' | 'A' | 'C' | 'R' — Authentication response code. Possible Values: * `Y` - Successful Authentication. * `N` - Failed Authentication. * `U` - Unable to Complete Authentication * `A` - Successful Attempts Transaction. * `C` - Challenge Required for Authentication. * `R` - Authentication Rejected.
      - `xid` string — The transaction identifier assigned by Directory Server. Supported for 3D Secure v1 only.
      - `threeds_version` '1.0.2' | '2.1.0' | '2.2.0' — The 3DS version used to process the transaction.
      - `ds_transaction_id` string — The unique transaction identifier assigned by the Directory Server. Supported for 3D Secure v2 only.
      - `signature_verification` 'Y' | 'N' — Transaction Signature status identifier. Possible Values: * `Y` - Indicates that the signature of the PARes has been validated successfully and the message contents can be trusted. * `N` - Indicates that the PARes could not be validated. This result could be for a variety of reasons; tampering, certificate expiration, etc., and the result should not be trusted.
      - `verification` string[] — Any verification/authentication responses captured as part of the submission of the transaction. e.g. 3DS response values or ACRQ/ARCP. For some mPos transactions the verification may be performed on-device e.g. ApplePay, Face ID or Touch ID.
      - `error_desc` string — Application error description for the associated error number(s). NOTE: Multiple error descriptions are separated by a comma.
      - `error_no` string — Application error number(s). A non-zero value represents the error encountered while attempting to process the message request. NOTE: Multiple error numbers are separated by a comma.
      - `authentication_amount` integer — Amount is charged without a decimal place e.g. $1.5 = 150. The required number of decimal places for a currency code is according to ISO 4217. For Account Verification transactions, provide 0 as value for this field.
      - `additional_data` AdditionalDataDto
        - `total_items` number — Number of purchased items or services.
        - `device_channel` 'SDK' | 'BROWSER' — Determines the channel that the transaction came through.
        - `status_reason` string — Provides additional information as to why the PAResStatus has the specific value. **NOTE**: Required for Payment (e.g. Authentication Indicator equals 01 on Lookup Request) transactions when PAResStatus is equal to N, U, or R in the Lookup Response.
        - `challenge_indicator` '01' | '02' | '03' | '04' | '90' — This is a 2.0 required field. Possible values are: * `01` No preference * `02` No challenge requested * `03` Challenge requested (3DS Requestor preference) * `04` Challenge requested (Mandate) * `90` Used to call the CB Scoring platform
        - `challenge_cancel` '01' | '02' | '03' | '04' | '05' | '06' | '07' — Indicator informing the ACS and the DS that the authentication has been cancelled. Possible values are: * `01` Cardholder selected “Cancel” * `02` 3DS Requestor cancelled Authentication. * `03` Transaction Abandoned * `04` Transaction Timed Out at ACS — other timeouts * `05` Transaction Timed Out at ACS — First CReq not received by ACS * `06` Transaction Error * `07` Unknown
        - `acs_url` string — The fully qualified URL to redirect the Consumer to complete the Consumer Authentication transaction. **NOTE**: Available if Enrolled = Y
        - `acs_operator_id` string — DS assigned ACS identifier. Each DS can provide a unique ID to each ACS on an individual basis.
        - `network_score` string, number — The global score calculated by the CB Scoring platform.
        - `reason_code` string — The error code indicating a problem with this transaction.
        - `reason_desc` string — Text and additional detail about the error for this transaction. NOTE: This field concatenates the errorDescription and errorDetail from the authentication response message.
    - `encrypted_cvv` string — The CVV encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode. The data to encrypt is a JSON with tag cvv. Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z. Sample JSON to encrypt: { "cvv": "123" "captureTime": "2021-04-27T14:15:22Z" }
    - `encrypted_svc_access_code` string — The SVC Access Code encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode. The data to encrypt is a JSON with tag svcAccessCode. Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.
    - `public_key_alias` string — The alias for the public key used to encrypt this card.
    - `stored_credential` object — The definition of a stored credential payment.
      - `stored_credential_type` 'SIGNUP' | 'CHARGE', required — The definition of a stored credential payment.
      - `processing_model_details` ProcessingModelDetailsDto, required
        - `total_payment_number` number — Total paymant Number.
        - `total_payment_amount` number — total Payment Amount.
        - `first_payment_amount` number — first Payment Amount.
        - `payment_frequency` PaymentFrequency
          - `time_unit` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', required — Processing model to use for COF transaction. Refer to the card integration guide for more information on the usage.
          - `value` number — Value.
        - `processing_model` 'UNSCHEDULED_CREDENTIAL_ON_FILE' | 'CREDENTIAL_ON_FILE' | 'RECURRING' | 'NONE' | 'REAUTHORIZATION', required — Processing model to use for COF transaction. Refer to the card integration guide for more information on the usage.
        - `merchant_signup_code` string — A pre-defined signup code between the merchant and the acquirer.
        - `current_payment_number` number — The current number of recurring payments.
        - `amount_fixed` boolean — Set `true` to indicate that recurring charges are of the same amount (often used for subscriptions), and set `false` to indicate variable amount between charges (often used for standing orders with fixed schedule).
      - `first_payment` boolean — Whether auto-capture or not. Setting this to 'false' will only authorize the transaction.
      - `scheme_reference` string — Scheme Reference Data returned in the initial transaction
    - `receipt_type` 'FULL_RECEIPT' | 'INVOICE' | 'INVOICE_RECEIPT' | 'SIMPLE_RECEIPT' | 'NONE' — Defines the type of receipt to be generated
    - `shipping_information` object — The address where the purchased goods should be delivered to. <br><b>Please use customer_details.shipping.</b>
      - `address` string, required — Street address of the recipient.
      - `city` string, required — City of the recipient.
      - `country` string, country-code, required — A 2-letter ISO3166 alpha-2 country code for the address.
      - `postal_code` string, required — A postal code for the address.
      - `email` string, email — A valid internationalized email address, as defined by RFC 5322, RFC 6530, and other RFCs. Due to RFC 5321, an email address can be up to 254 characters long even though up to 64 characters are allowed before and 255 characters are allowed after the @ sign. This pattern verifies only that the string contains an unquoted @ sign. See https://tools.ietf.org/html/rfc5322#section-3.4.1.
      - `first_name` string — First name of the recipient.
      - `last_name` string — Last name of the recipient.
      - `phone` number — Numbers only, no dash or any other separator.
      - `state` string — A region / state / province for the address.
    - `customer_details` CustomerDetailsDto — Customer information containing billing and shipping details.
      - `title` string — The prefix to the party name. This is sometimes referred to as a title, salutation or appellation.
      - `first_name` string — The first name of the Customer. This may be a proper name or some form of entity name or nickname.
      - `middle_name` string — The middle name of the Customer. This may be a proper name or some form of entity name or nickname.
      - `last_name` string — The last name or family name of the Customer.
      - `company_name` string — Where the Customer is an organisation or company this name should be used rather than the firstName lastName
      - `phone_number` string — Customers phone number for billing address.
      - `email_address` string, email — Customer email address, which might be used during refund flow.
      - `shipping` CustomerDetailsShippingInformationDto — The address where the purchased goods should be delivered to.
        - `address` string, required — Street address of the recipient.
        - `city` string, required — City of the recipient.
        - `country` string, country-code, required — A 2-letter ISO3166 alpha-2 country code for the address.
        - `postal_code` string, required — A postal code for the address.
        - `email` string, email — A valid internationalized email address, as defined by RFC 5322, RFC 6530, and other RFCs. Due to RFC 5321, an email address can be up to 254 characters long even though up to 64 characters are allowed before and 255 characters are allowed after the @ sign. This pattern verifies only that the string contains an unquoted @ sign. See https://tools.ietf.org/html/rfc5322#section-3.4.1.
        - `first_name` string — First name of the recipient.
        - `last_name` string — Last name of the recipient.
        - `phone` string — Telephone number.
        - `state` string — A region / state / province for the address.
      - `billing` object — The address of billing.
        - `address_1` string — Customer's primary billing address information.
        - `address_2` string — Customer's secondary billing address information.
        - `address_3` string — Customer's third billing address information.
        - `city` string — Customer's city on their billing address
        - `country` 'ZZ' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — The ISO 3166-1 alpha-3 country code.
        - `phone` string — Customer's phone number for billing address. This should be un formatted without hyphens. (e.g. 4422345678)
        - `postal_code` string — Customer's postal code of their billing address.
        - `state` string — Customer's state or province of their billing address. (e,g. Ohio = OH, Texas = TX)
      - `language` string — The BCP-47 language tag. The tag is composed of: * The ISO-639 alpha-1 or ISO-639 alpha-2 language code * (Optional) The ISO-15924 script tag * The ISO-3166 alpha-2 country code `NOTE:`The value is case-insensitive, so for example "he" and "HE" should be considered equal.
    - `shopper_interaction` 'ECOMMERCE' | 'MAIL' | 'TELEPHONE' — Determines the sales channel the shopper gives their card details through: * `ECOMMERCE` Online transactions where the cardholder is present. * `MAIL` order transactions where the shopper is in contact with the merchant via email. * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
    - `user_agent` string — The full user agent string of the device the customer used to submit the transaction.
    - `sales_description` string — A reference used by the merchant to typically capture a description of the service provided. It could then be used by the merchant to help locate transactions. One could envision a situation where a merchant is trying to locate a transaction/ receipt but in speaking with the customer, the only (or at least a predominant) detail is what service was rendered
    - `sca_exemption` '1' | '2' | '3' | '4' | '5' | '6' — Use this field to request your transaction to be exempted from the application of the Strong Customer Authentication (SCA). Be advised that the use of this field may result to your liability in case of fraudulent transaction. Possible Values: 1 - Low value payment 2 - Acquirer Transaction Risk Analysis 3 - Trusted beneficiary exemption 4 - Secure Corporate Payment (SCP) exemption 5 - Merchant Initiated Transaction 6 - SCA Delegation
    - `currency_code` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XTS' | 'XXX' | 'YER' | 'ZAR' | 'ZMK' | 'ZMW' | 'BTC', required — Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
    - `card_brand` string — Represents a Card type or brand. It should correspond to a consistent name, the list of standard names is as follows: Value | Description ------|------------- AMEX|American Express CB|Carte Bancaires DINERS|Diners Club International DISCOVER|Diners Club Discover JCB|Japan Credit Bureau MAESTRO|Multi-national Debit (MasterCard) MASTERCARD|MasterCard VISA|Visa UPI|Union Pay International GIFT_CARD|Gift Card (Generic) PLCC|Private Label Credit Card **Other local schemes as applicable**. Enter a pre-defined name to represent the scheme or type. **Note**: 1. For gift cards, card brand is mandatory and the value should be GIFT_CARD. 2. This parameter is mandatory for dual branded cards.
    - `brand_choice` 'MERCHANT' | 'CARDHOLDER' — For dual-branded cards identifies whether selection is made by a cardholder or merchant.
    - `credit_term` 'STANDARD' | 'PREFERED' | 'DEBIT' | 'INSTALMENT_STANDARD' | 'INSTALMENT_CREDIT' — An indicator to show under which terms the credit was provided.
    - `instalment` InstalmentDto
      - `down_payment_amount` number — The value, which can be anything from: An integer - for currencies that are not typically fractional, such as JPY. A three-place decimal fraction - for currencies that are subdivided into thousandths, such as TND. An eight-place decimal fraction - for currencies such as Bitcoin. For the required number of decimal places for a currency code, see ISO 4217
      - `number_of_instalments` number — The number of individual parts that the total amount should be paid in.
      - `instalment_amount` number — The value, which can be anything from: An integer - for currencies that are not typically fractional, such as JPY. A three-place decimal fraction - for currencies that are subdivided into thousandths, such as TND. An eight-place decimal fraction - for currencies such as Bitcoin. For the required number of decimal places for a currency code, see ISO 4217
    - `refusal_reason` 'ACQUIRER_COMMS_FAILURE' | 'ACQUIRER_REFUSED' | 'CARD_BRAND_NOT_ACCEPTED' | 'CARD_EXPIRED' | 'CARD_NOT_ACCEPTED' | 'CARD_NOT_VALID' | 'CARD_PRODUCT_NOT_ACCEPTED' | 'ORIGINAL_TRANSACTION_NOT_FOUND' | 'INVALID_BIN' | 'PARTIAL_AUTH_NOT_ALLOWED' | 'RECEIPT_FAILURE' | 'REFUND_NOT_ACCEPTED' | 'THREEDSECURE_FAILED_ACS' | 'THREEDSECURE_FAILED_AUTH' | 'THREEDSECURE_FAILED_COMMS' | 'UNAPPROVED_OPERATOR' | 'UNKNOWN_REASON' — The reason a transaction has been refused within the payment ecosystem by the client/Verifone/acquirer. This needs to be set by the component that is refusing this transaction request.
    - `reuse_token` string, required — The Verifone issued reuse token used to represent the previously stored cardholder data.
    - `reuse_token_type` 'CHASE' | 'INTERNAL' | 'TAVE' — The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.<br> **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
    - `reuse_token_details` TokenDetailsRequestBody — The details related to the token. For Third-Party Reuse tokens, these elements might be required as additional information together with the Reuse token itself.<br> **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
      - `expiry_month` integer — A 2 digit value as shown on card. ISO8583 - DE 14.\n\nThis is included as an optional value to be used for some Third-Party reuse token types.
      - `expiry_year` integer — A 4 digit value as shown on card.\n\nThis is included as an optional value to be used for some Third-Party reuse token types.
    - `promo_code` string — A code defined by the merchant that affects the calculation of the total amount.
    - `promo_financing_details` PromoFinancingDetails — Additional details of the special financing offers to customers using private label cards, typically in combination with `promo_code` field.
      - `promoFinancingType` 'PROMO_APR' | 'PROMO_AND_AFTER_APR' — Type of special financing information requested. Promotional information may be requested for duration of the promo only (`PROMO_APR`) or for during and after promo period (`PROMO_AND_AFTER_APR`).",
      - `promoPlan` string — The code or name of a promotional financing plan as set up between merchant and issuer.
      - `promoPlanExpiry` string, date — Expiry date for the requested promo plan.
    - `purchase_order_number` string — The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme). This field is part of so-called Level 2 data.
    - `tax_indicator` 'TAX_PROVIDED' | 'TAX_NOT_PROVIDED' | 'NON_TAXABLE' — This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data. If the value `TAX_PROVIDED` is sent, `tax_amount` should also be provided
    - `detailed_amount` DetailedAmount — A structure that represents a breakdown all of the different amounts that may appear on a single transaction.
      - `gratuity_amount` integer — An optional additional amount representing the tip or gratuity associated with a payment. This should be included in the total 'amount' of the transaction. Amount is specified without a decimal place e.g. $1.5 = 150. <i>The required number of decimal places for a currency code is according to ISO 4217.</i>
      - `tax_amount` integer — An optional value to specify the amount of any tax that was included within the total amount for the transaction. This should be included in the total 'amount' of the transaction. Amount is specified a decimal place e.g. $1.5 = 150. <i>The required number of decimal places for a currency code is according to ISO 4217.</i>
      - `surcharge_amount` integer — An optional additional amount representing the surcharge associated with a payment. This should be included in the total 'amount' of the transaction. Amount is specified without a decimal place e.g. $1.5 = 150. <i>The required number of decimal places for a currency code is according to ISO 4217.</i>

## Response `201`

Ecommerce Payment Result

- EcomResponseCard
  - `id` string, uuid-flexible — The ID of the transaction.
  - `payment_provider_contract` string, uuid-flexible — The identifier of payment provider contract you want to process the transaction request with.
  - `amount` integer — Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.
  - `blocked` boolean — True if the transaction has been blocked by a ruleset, false otherwise
  - `created_at` string, date-time — The time at which the transaction was created.
  - `customer` string — The ID of a customer
  - `merchant_reference` string — A reference specified by the merchant to identify the transaction
  - `payment_product` string — The payment product corresponding to this transaction
  - `payment_product_type` string — The name of the processor used for this transaction
  - `processor_reference` string — Reference identifying the transaction, as provided by the processor.
  - `processor_details` object — Stores all details specific for the processor of the transaction.
  - `status` 'INITIATED' | 'AUTHORIZED' | 'AUTHORIZATION_VOIDED' | 'CANCELLED' | 'CUSTOMER_ACCEPTED' | 'REFUNDED' | 'FAILED' | 'PENDING' | 'DECLINED' | 'SETTLEMENT_CANCELLED' | 'SETTLEMENT_REQUESTED' | 'SETTLEMENT_SUBMITTED' | 'SETTLEMENT_COMPLETED' | 'SETTLEMENT_PARTIAL' | 'SETTLEMENT_DECLINED' | 'VOIDED' | 'UNKNOWN' — The outcome of the payment request.
  - `status_reason` string — Message provided by the 3rd party service as additional information, when the transaction does not succeed.
  - `shipping_information` object — The address where the purchased goods should be delivered to. <br><b>Please use customer_details.shipping.</b>
    - `address` string, required — Street address of the recipient.
    - `city` string, required — City of the recipient.
    - `country` string, country-code, required — A 2-letter ISO3166 alpha-2 country code for the address.
    - `postal_code` string, required — A postal code for the address.
    - `email` string, email — A valid internationalized email address, as defined by RFC 5322, RFC 6530, and other RFCs. Due to RFC 5321, an email address can be up to 254 characters long even though up to 64 characters are allowed before and 255 characters are allowed after the @ sign. This pattern verifies only that the string contains an unquoted @ sign. See https://tools.ietf.org/html/rfc5322#section-3.4.1.
    - `first_name` string — First name of the recipient.
    - `last_name` string — Last name of the recipient.
    - `phone` number — Numbers only, no dash or any other separator.
    - `state` string — A region / state / province for the address.
  - `customer_details` CustomerDetailsDto — Customer information containing billing and shipping details.
    - `title` string — The prefix to the party name. This is sometimes referred to as a title, salutation or appellation.
    - `first_name` string — The first name of the Customer. This may be a proper name or some form of entity name or nickname.
    - `middle_name` string — The middle name of the Customer. This may be a proper name or some form of entity name or nickname.
    - `last_name` string — The last name or family name of the Customer.
    - `company_name` string — Where the Customer is an organisation or company this name should be used rather than the firstName lastName
    - `phone_number` string — Customers phone number for billing address.
    - `email_address` string, email — Customer email address, which might be used during refund flow.
    - `shipping` CustomerDetailsShippingInformationDto — The address where the purchased goods should be delivered to.
      - `address` string, required — Street address of the recipient.
      - `city` string, required — City of the recipient.
      - `country` string, country-code, required — A 2-letter ISO3166 alpha-2 country code for the address.
      - `postal_code` string, required — A postal code for the address.
      - `email` string, email — A valid internationalized email address, as defined by RFC 5322, RFC 6530, and other RFCs. Due to RFC 5321, an email address can be up to 254 characters long even though up to 64 characters are allowed before and 255 characters are allowed after the @ sign. This pattern verifies only that the string contains an unquoted @ sign. See https://tools.ietf.org/html/rfc5322#section-3.4.1.
      - `first_name` string — First name of the recipient.
      - `last_name` string — Last name of the recipient.
      - `phone` string — Telephone number.
      - `state` string — A region / state / province for the address.
    - `billing` object — The address of billing.
      - `address_1` string — Customer's primary billing address information.
      - `address_2` string — Customer's secondary billing address information.
      - `address_3` string — Customer's third billing address information.
      - `city` string — Customer's city on their billing address
      - `country` 'ZZ' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — The ISO 3166-1 alpha-3 country code.
      - `phone` string — Customer's phone number for billing address. This should be un formatted without hyphens. (e.g. 4422345678)
      - `postal_code` string — Customer's postal code of their billing address.
      - `state` string — Customer's state or province of their billing address. (e,g. Ohio = OH, Texas = TX)
    - `language` string — The BCP-47 language tag. The tag is composed of: * The ISO-639 alpha-1 or ISO-639 alpha-2 language code * (Optional) The ISO-15924 script tag * The ISO-3166 alpha-2 country code `NOTE:`The value is case-insensitive, so for example "he" and "HE" should be considered equal.
  - `arn` string — Acquirer reference number. Generated by the Acquirer at the time of clearing for card transactions.
  - `authorization_code` string — * When the payment is authorized successfully, this field holds the authorization code for the payment. * When the payment is not authorized, this field is not returned.
  - `avs_result` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'I' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'R' | 'S' | 'T' | 'U' | 'W' | 'X' | 'Y' | 'Z' — Address verification services result, which provides information about the outcome of the AVS check. The full list of codes and descriptions can be found <a href="https://docs.verifone.com/online-payments/fraud-management/address-verification-service-avs">here</a>
  - `card` string — The token representing the payment card
  - `created_by` string — The ID of the user who initiated the transaction. Only set when shopper_interaction = moto, mail_order or telephone_order
  - `cvv_present` boolean — True if the card was used with a cvv
  - `cvv_result` '0' | '1' | '2' | '3' | '4' | '5' | '6' | '9' | 'M' | 'Y' | 'N' | 'P' | 'S' | 'U' — The CVC verification result, which provides information about the outcome of the CVC check. CVC-CVV result codes: * `0` Unknown * `1` Matches. * `2` Doesn't match. * `3` Not checked. * `4` No CVC/CVV provided, but was required. * `5` Issuer not certified for CVC/CVV. * `6` No CVC/CVV provided. <strong>The following are included only for backwards compatibility. They are deprecated and will be removed in the next major release. The client must take action now to ensure ongoing support.</strong> * `M` Match * `Y` Match * `N` No Match * `P` Not Processed * `S` CVV Should be present, but Merchant indicates not present. * `U` Issuer not certified or registered to process card verification.
  - `cavv_result` '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '99' | 'A' | 'B' | 'C' | 'D' | 'I' | 'U' | 'NA' — This field will be populated for any Verified by Visa transaction and AVV Authorisation message sent by MasterCard SecureCode: This includes CAVV and AEVV from American Express SafeKey. CAVV Transaction Response Code Values: * `0` CAVV or AEVV Not Validated due to erroneous data submitted. * `1` CAVV or AEVV Failed Validation - Authentication Transaction. This is an indication of potential bad or fraudulent data submitted. * `2` CAVV or AEVV Passed Validation – Authentication Transaction. * `3` CAVV or AEVV Passed Validation – Attempted Authentication Transaction. (Determined that the Issuer ACS generated this value from the use of the Issuer’s CAVV/AEVV key[s]). * `4` CAVV or AEVV Failed Validation – Attempted Authentication Transaction. Attempted Authentication Transaction. This is an indication of potential bad or fraudulent data submitted as the CAVV/AEVV. (Determined that Visa generated this value from the use of CAVV/AEVV key[s]). * `5` Reserved. * `6` CAVV or AEVV Not Validated – Issuer not participated. This value is generated when an Issuer requests the `do not verify` flag to be established for its BINs. This parameter enables an Issuer to temporarily stop CAVV/AEVV verification while resolving CAVV/AEVV key issues. VisaNet processes this value as a valid CAVV/AEVV. * `7` CAVV or AEVV Failed Validation – Attempted Authentication Transaction. This is an indication of potential bad or fraudulent data submitted as the CAVV/AEVV. (CAVV/AEVV generated with Visa Key). * `8` CAVV or AEVV Passed Validation – Attempted Authentication Transaction. (CAVV/AEVV generated with Visa Key). * `9` CAVV or AEVV Failed Validation – Attempted Authentication Transaction. This is an indication of potential bad or fraudulent data submitted as the CAVV/AEVV (CAVV/AEVV generated with Visa Key – Issuer ACS unavailable). * `99` An unknown value was returned from the processor. * `A` CAVV or AEVV Passed Validation – Attempted Authentication Transaction. (CAVV/AEVV generated with Visa Key – Issuer ACS unavailable). * `B` CAVV or AEVV Failed Validation – Attempted Authentication Transaction. This is an indication of potential bad or fraudulent data submitted as the CAVV/AEVV. (CAVV/AEVV generated with Visa Key). * `C` CAVV or AEVV Not Validated – Attempted Authentication Transaction. Issuer did not return a CAVV/AEVV results code in the authorisation response. VisaNet will treat this as valid CAVV/AEVV if the Issuer approves the authorisation. * `D` CAVV or AEVV Not Validated – Authentication. Issuer did not return a CAVV/AEVV results code in the authorisation response. VisaNet will treat this as valid CAVV/AEVV if the Issuer approves the authorisation. * `I` Invalid Security Data. * `U` Issuer does not participate or 3-D Secure data not utilised. * `NA` Blank CAVV or AEVV Not Present.
  - `invoice_number` string — Optional. The invoice number to track this payment.
  - `stored_credential` StoredCredential
    - `reference` string — Reference of a successfully processed initial COF transaction. Only used by subsequent COF transactions.
    - `stored_credential_type` string
    - `scheme_reference` string — Scheme Reference Data received from issuer/acquirer.
    - `processing_model` 'UNSCHEDULED_CREDENTIAL_ON_FILE' | 'CREDENTIAL_ON_FILE' | 'RECURRING' | 'REAUTHORIZATION' | 'NONE' — Processing model to use for COF transaction. Refer to the card integration guide for more information on the usage.
    - `details` 'UNSCHEDULED_CREDENTIAL_ON_FILE' | 'CREDENTIAL_ON_FILE' | 'RECURRING' — Processing model to use for COF transaction. Refer to the card integration guide for more information on the usage.
  - `details` Details
    - `auto_capture` boolean
    - `mid` string, integer — Merchant ID (MID)
  - `reason_code` string — A reason code assigned by the acquiring platform; '0000' in case of success
  - `rrn` string — A client (user friendly) identifier for the transaction generated at the outset of a business event. The format will be dependent on the calling system. A reference supplied by the system retaining the original source information and used to assist in locating that transaction or a copy of the transaction. This value is critical in matching values that are sent to other Payment processors or Acquirers. This value would correspond to the **ISO8583 specification as RRN in attribute DE 37, which limits the value to being an alphanumeric value 12 characters.** For the GSC client android application the format will correspond to <strong>YYMMdd<stan 6 digits></strong>.
  - `shopper_interaction` 'ECOMMERCE' | 'MAIL' | 'TELEPHONE' — Determines the point of sale of a customer. Possible values: pos, moto, mail_order, telephone_order, ecommerce and cont_auth
  - `stan` string — System Trace Audit Number.
  - `threed_authentication` ThreedAuthentication
    - `eci_flag` '05' | '06' | '07' | '02' | '01' | '00' — Electronic Commerce Indicator (ECI). The ECI value is part of the 2 data elements that indicate the transaction was processed electronically.This should be passed on the authorization transaction to the Gateway/Processor.Please refer to the integration guide for information on its usage.
    - `enrolled` 'Y' | 'N' | 'U' | 'B' — The enrolment response status of Authentication eligibility from the Directory Server. Possible Values: * `Y` - Yes, Bank is participating in 3-D Secure protocol and will return the ACSUrl. * `N` - No, Bank is not participating in 3-D Secure protocol. * `U` - Unavailable, the DS or ACS is not available for authentication at the time of the request. * `B` - Bypass, merchant authentication rule is triggered to bypass authentication in this use case. NOTE: If the Enrolled value is NOT Y, then the Consumer is NOT eligible for Authentication.
    - `cavv` string — Cardholder Authentication Verification Value (CAVV). Base64-encoded values of 28 or 32 characters. Hex-encoded values of 40 or 48 characters.
    - `cavv_algorithm` string — The algorithm used to generate the CAVV value. Supported for 3D Secure v1 only.
    - `pares_status` 'Y' | 'N' | 'U' | 'A' | 'C' | 'R' — Authentication response code. Possible Values: * `Y` - Successful Authentication. * `N` - Failed Authentication. * `U` - Unable to Complete Authentication * `A` - Successful Attempts Transaction. * `C` - Challenge Required for Authentication. * `R` - Authentication Rejected.
    - `xid` string — The transaction identifier assigned by Directory Server. Supported for 3D Secure v1 only.
    - `threeds_version` '1.0.2' | '2.1.0' | '2.2.0' — The 3DS version used to process the transaction.
    - `ds_transaction_id` string — The unique transaction identifier assigned by the Directory Server. Supported for 3D Secure v2 only.
  - `reversal_status` 'NONE' | 'REQUIRED' | 'COMPLETED' — Indicates to the API client if a technical reversal has been completed by Verifone.
  - `geo_location` number[] — The latitude / longitude resolved from the customer's ip address.
  - `city` string — The city resolved from the customer's ip address.
  - `country_code` string — The country code resolved from the customer's ip address.
  - `additional_data` AdditionalData — Additional payment result data, which may be required to return in a particular payment response.
    - `acquirer_response_code` string — Acquirer response returned during the authorisation.
    - `acquirer_response_message` string — The response description generated by the acquirer corresponding to the acquirer response code.
    - `acquirer_authorizing_network_id` string — The Network ID returned in the original authorization response.
    - `acquirer_authorizing_network_id_descriptor` string — The name or descriptor that corresponds with the `acquirer_authorizing_network_id` returned in the original authorization response.
    - `initiator_trace_id` string — A number assigned by a transaction initiator(originator) to assist in identifying a transaction uniquely. The trace identifier remains unchanged for all messages within a two-message exchange, e.g. request/repeat and response. This property can be used to store the System trace audit number (STAN) as used in the ISO8583 specification (DE 11). Note the contents of this field are mandatory in many specifications - ISO8583, AS2805 (DE11) and are often related to the Retrieval Reference Number (RRN) as also specified in ISO8583. Unfortunately due to the usage in these earlier specifications, a STAN was limited to 6 digits which means that it cannot be utilised as a general purpose unique id. In addition, this entry is often printed on the receipt at a POI. This value will correspond to **ISO8583 DE11.** `Note: Use response.stan value for initiator_trace_id`
    - `settlement_date` string, date — This will reflect either the desired Merchant settlement date or the actual settlement date depending where the transaction request is within the payment lifecycle. A transaction may be assigned an intended settlement date, but it is possible that this date will not occur for technical reasons hence there should be a subsequent event to indicate the actual date of settlement. Format is date only as per RFC 3339.
    - `issuer_receipt_text` string — Additional text to print on transaction receipt, which optionally may be provided by the Issuer.
  - `token_details` TokenDetails
    - `reuse_token` string — The Verifone issued reuse token used to represent the previously stored cardholder data.
    - `reuse_token_type` 'CHASE' | 'INTERNAL' | 'TAVE' — The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.
    - `analytics_token` string — A token that cannot be reversed to Card Holder data. This is included in a Payment for auditing and tracking purposes.
    - `token_expiry_date` string, date — When this Token will expire.
    - `token_scope` string, uuid — The token scope under which this token was created.
    - `token_status` 'DELETED' | 'ACTIVE' | 'SUSPENDED' — The status of the Token.
    - `created_at` string, date — The date when this token was first created.
    - `updated_at` string, date — The last date token was updated.
    - `variant` string — The variant of the card. eg. NEW_WORLD
    - `type` 'CREDIT' | 'DEBIT' — The type of card application or account selection.
    - `issuer_name` string — The issuer of this card. eg. HSBC, BARCLAYS.
    - `issuer_country` 'ZZZ' | 'ABW' | 'AFG' | 'AGO' | 'AIA' | 'ALA' | 'ALB' | 'AND' | 'ARE' | 'ARG' | 'ARM' | 'ASM' | 'ATA' | 'ATF' | 'ATG' | 'AUS' | 'AUT' | 'AZE' | 'BDI' | 'BEL' | 'BEN' | 'BES' | 'BFA' | 'BGD' | 'BGR' | 'BHR' | 'BHS' | 'BIH' | 'BLM' | 'BLR' | 'BLZ' | 'BMU' | 'BOL' | 'BRA' | 'BRB' | 'BSB' | 'BRN' | 'BTN' | 'BVT' | 'BWA' | 'CAF' | 'CAN' | 'CCK' | 'CHE' | 'CHL' | 'CHN' | 'CIV' | 'CMR' | 'COD' | 'COG' | 'COK' | 'COL' | 'COM' | 'CPV' | 'CRI' | 'CUB' | 'CUW' | 'CXR' | 'CYM' | 'CYP' | 'CZE' | 'DEU' | 'DJI' | 'DMA' | 'DNK' | 'DOM' | 'DZA' | 'ECU' | 'EGY' | 'ERI' | 'ESH' | 'ESP' | 'EST' | 'ETH' | 'FIN' | 'FJI' | 'FLK' | 'FRA' | 'FRO' | 'FSM' | 'GAB' | 'GBR' | 'GEO' | 'GGY' | 'GHA' | 'GIB' | 'GIN' | 'GLP' | 'GMB' | 'GNB' | 'GNQ' | 'GRC' | 'GRD' | 'GRL' | 'GTM' | 'GUF' | 'GUM' | 'GUY' | 'HKG' | 'HMD' | 'HND' | 'HRV' | 'HTI' | 'HUN' | 'IDN' | 'IMN' | 'IND' | 'IOT' | 'IRL' | 'IRN' | 'IRQ' | 'ISL' | 'ISR' | 'ITA' | 'JAM' | 'JEY' | 'JOR' | 'JPN' | 'KAZ' | 'KEN' | 'KGZ' | 'KHM' | 'KIR' | 'KNA' | 'KOR' | 'KWT' | 'LAO' | 'LBN' | 'LBR' | 'LBY' | 'LCA' | 'LIE' | 'LKA' | 'LSO' | 'LTU' | 'LUX' | 'LVA' | 'MAC' | 'MAF' | 'MAR' | 'MCO' | 'MDA' | 'MDG' | 'MDV' | 'MEX' | 'MHL' | 'MKD' | 'MLI' | 'MLT' | 'MMR' | 'MNE' | 'MNG' | 'MNP' | 'MOZ' | 'MRT' | 'MSR' | 'MTQ' | 'MUS' | 'MWI' | 'MYS' | 'MYT' | 'NAM' | 'NCL' | 'NER' | 'NFK' | 'NGA' | 'NIC' | 'NIU' | 'NLD' | 'NOR' | 'NPL' | 'NRU' | 'NZL' | 'OMN' | 'PAK' | 'PAN' | 'PCN' | 'PER' | 'PHL' | 'PLW' | 'PNG' | 'POL' | 'PRI' | 'PRK' | 'PRT' | 'PRY' | 'PSE' | 'PYF' | 'QAT' | 'REU' | 'ROU' | 'RUS' | 'RWA' | 'SAU' | 'SDN' | 'SEN' | 'SGC' | 'SGP' | 'SHN' | 'SJM' | 'SLB' | 'SLE' | 'SLV' | 'SMR' | 'SOM' | 'SPM' | 'SRB' | 'SSD' | 'STP' | 'SUR' | 'SVK' | 'SVN' | 'SWE' | 'SWZ' | 'SXM' | 'SYC' | 'SYR' | 'TCA' | 'TCD' | 'TGO' | 'THA' | 'TJK' | 'TKL' | 'TKM' | 'TLS' | 'TON' | 'TTO' | 'TUN' | 'TUR' | 'TUV' | 'TWN' | 'TZA' | 'UGA' | 'UKR' | 'UMI' | 'URY' | 'USA' | 'UZB' | 'VAT' | 'VCT' | 'VEN' | 'VGB' | 'VIR' | 'VNM' | 'VUT' | 'WLF' | 'WSM' | 'YEM' | 'ZAF' | 'ZMB' | 'ZWE' — The [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
    - `brand` string — The brand of this card. eg. VISA, MASTERCARD, AMEX.
    - `expiry_year` integer — A 4 digit value as shown on card.
    - `expiry_month` integer — A 2 digit value as shown on card. ISO8583 - DE 14
    - `card_holder_name` string — The Card holder name as it appears on the card.
    - `last_four` string — The last 4 digits of the card number.
    - `bin` string — The Bank Identification Number (also called IIN - Issuer Identification Number) of this card.
    - `currency_code` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XTS' | 'XXX' | 'YER' | 'ZAR' | 'ZMK' | 'ZMW' | 'BTC' — Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
  - `promo_code` string — A code defined by the merchant that affects the calculation of the total amount.
  - `promo_financing_result` PromoFinancingResults — Details of the special financing offer returned from the issuer.
    - `promoFinancingType` 'PROMO_APR' | 'PROMO_AND_AFTER_APR' | 'NO_PROMO' | 'ERROR' — Type of special financing information provided. * `PROMO_APR ` - APR information provided only for the duration of the promo period; * `PROMO_AND_AFTER_APR ` - APR information provided for the duration of and after the promo period; * `PROMO_AND_AFTER_APR ` - No promotional financing available; * `ERROR ` - error.
    - `promoAnnualPercentageRateType` 'FIXED' | 'VARIABLE' — The type of APR applicable during promo period.
    - `promoAnnualPercentageRate` number, float — The interest rate expressed in Annual Percentage Rate (APR), applicable during the promo period.
    - `annualPercentageRateType` 'FIXED' | 'VARIABLE' — The type of APR applicable after promo period.
    - `annualPercentageRate` number, float — The interest rate expressed in Annual Percentage Rate (APR).
    - `promoDurationDescription` string — Information or description of the promo period duration, e.g. 6 months
    - `promoDescription` string — Description of the promotional financing plan.
  - `purchase_order_number` string — The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme). This field is part of so-called Level 2 data.
  - `issuer_instalment_result` EcomPaymentResponseIssuerInstalmentResult — Issuer-managed instalment response. May be used to inform on supported instalment options for the transaction in specific programs (e.g., Mastercard Instalment Payment Service).
    - `instalment_program` 'MCINST' — The name of special program designated by scheme or issuer.
    - `payment_option` 'FULL' | 'FULL_OR_INSTALMENT' | 'INSTALMENT' — Available payment mode allowed by issuer for the transaction.
    - `payment_plan_option` PaymentPlanOption[] — The issuer may offer more than one instalment options within certain instalment programs.
      - `number_of_instalments` integer — The number of individual parts that the total amount should be paid in.
      - `first_instalment_amount` number — Amount including decimal place.
      - `instalment_amount` number — Amount including decimal place.
      - `interest_rate` number, float — The interest rate.
      - `annual_percentage_rate` number, float — The interest rate expressed in Annual Percentage Rate.
      - `handling_fee` number — Amount including decimal place.
      - `total_amount_with_cost` number — Amount including decimal place.
    - `number_of_instalments` integer — The number of individual parts that the total amount should be paid in.
    - `min_number_of_instalments` integer — The minimal number of individual parts that the total amount could be paid in, if choice is available.
    - `max_number_of_instalments` integer — The maximal number of individual parts that the total amount could be paid in, if choice is available.
    - `interest_rate` number, float — The interest rate.
    - `annual_percentage_rate` number, float — The interest rate expressed in Annual Percentage Rate.
    - `handling_fee` number — Amount including decimal place.
    - `down_payment_amount` number — Amount including decimal place.
    - `instalment_amount` number — Amount including decimal place.
    - `total_amount_with_cost` number — Amount including decimal place.
  - `balance_amount` integer — Balance amount is the amount remaining on a card or account of cardholder without a decimal place e.g. $1.5 = 150. The required number of decimal places for a currency code is according to ISO 4217. However the following table takes precedence over ISO 4217:

## Other responses

- `400` — Bad Request
- `401` — Unauthorised
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/verifone/apis/checkout-api.md) · [All operations](https://skmtc.net/verifone/apis/checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/verifone/checkout-api/revisions/ed8dc1f12a5a/schema)
