---
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).

## 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
    - `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.
      - `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` 'AUD', required — Three-letter ISO 4217 alphabetical currency code. Supported values are: AUD
    - `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 | | JCB | Japan Credit Bureau | | MASTERCARD | MasterCard | | VISA | Visa |
    - `credit_term` 'STANDARD' | 'PREFERED' | 'DEBIT' — An indicator to show under which terms the credit was provided.
    - `encrypted_card` string, required — The cardholder data encrypted using the OnlinePay provided public key. This can be obtained using either Verifone.JS solution or OnlinePay 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://verifone.cloud/docs/online-payments/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` 'INTERNAL' — The type of Reuse Token. This indicates if the reuse token is an internal OnlinePay 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 OnlinePay provided public key. This can be obtained using either Verifone.JS solution or OnlinePay 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.
    - `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
  - 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 — An Ipv4 formatted IP Address.
      - string, ipv6 — An Ipv6 formatted IP Address.
    - `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.
      - `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 OnlinePay provided public key. This can be obtained using either Verifone.JS solution or OnlinePay 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 OnlinePay provided public key. This can be obtained using either Verifone.JS solution or OnlinePay 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
    - `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` 'AUD', required — Three-letter ISO 4217 alphabetical currency code. Supported values are: AUD
    - `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 | | JCB | Japan Credit Bureau | | MASTERCARD | MasterCard | | VISA | Visa |
    - `credit_term` 'STANDARD' | 'PREFERED' | 'DEBIT' — An indicator to show under which terms the credit was provided.
    - `reuse_token` string, required — The OnlinePay issued reuse token used to represent the previously stored cardholder data.
    - `reuse_token_type` 'INTERNAL' — The type of Reuse Token. This indicates if the reuse token is an internal OnlinePay 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.
    - `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://verifone.cloud/docs/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.
    - `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 OnlinePay issued reuse token used to represent the previously stored cardholder data.
    - `reuse_token_type` 'INTERNAL' — The type of Reuse Token. This indicates if the reuse token is an internal OnlinePay 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. WESTPAC
    - `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` 'AUD' — Three-letter ISO 4217 alphabetical currency code. Supported values are: AUD
  - `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.
  - `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.dev/westpac/apis/checkout-api.md) · [All operations](https://skmtc.dev/westpac/apis/checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/westpac/checkout-api/revisions/97b34ca7df9a/schema)
