openapi: 3.0.1
info:
title: 3D Secure 3DS Authentication Checkout API
version: 3.43.0
description: Operations for listing and retrieving 3DS authentication records. Use these endpoints to query historical authentication results filtered by amount, currency, card, status, and more.
servers:
- url: https://emea.gsc.verifone.cloud/oidc/3ds-service
description: EMEA Production
- url: https://us.gsc.verifone.cloud/oidc/3ds-service
description: Americas Production
- url: https://nz.gsc.verifone.cloud/oidc/3ds-service
description: New Zealand Production
- url: https://cst.test-gsc.vfims.com/oidc/3ds-service
description: Global Sandbox
- url: https://uscst-gb.gsc.vficloud.net/oidc/3ds-service
description: Americas Sandbox
security:
- BearerAuth: []
- BasicAuth: []
tags:
- name: Checkout
description: Create, retrieve, update, and manage checkout sessions. A checkout session generates a hosted payment page URL that the customer visits to complete payment.
paths:
/v2/checkout:
post:
tags:
- Checkout
summary: Create a checkout
operationId: postV2Checkout
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateCheckoutRequest'
- $ref: '#/components/schemas/CardCaptureRequest'
responses:
'200':
description: Successful
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CreateCheckoutResponse'
- type: object
properties:
details:
type: object
description: The details object displays any errors or warnings that occur during the request.
properties:
errors:
type: array
items:
type: object
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'504':
description: Gateway Time-out
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
VippsPaymentConfigRequest:
required:
- payment_contract_id
type: object
properties:
payment_contract_id:
type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
dynamic_descriptor:
maxLength: 25
type: string
description: Value is displayed as short text on the bank statement of the cardholder
capture_now:
type: boolean
description: 'True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don''t have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE. '
default: true
is_app:
type: boolean
description: Flag to identify the transaction originated from APP or Browser
default: false
app_phone_number:
maxLength: 18
pattern: ^[0-9-\s\-+().-]+$
type: string
description: Indicates the phone number registered with Vipps Mobile APP.
card:
$ref: '#/components/schemas/VippsCardConfigRequest'
description: Vipps payment configuration
LineItem:
required:
- name
- total_amount
type: object
properties:
image_url:
maxLength: 2000
type: string
description: Image URL for the line item
item_url:
maxLength: 2000
type: string
description: Item URL for the line item
name:
maxLength: 255
type: string
description: Descriptive name of the order line item
quantity:
type: integer
default: 1
description: Quantity of the order line item
unit_price:
type: number
description: Unit Price
unit_price_tax:
type: number
description: Unit Price Tax
tax_rate:
type: number
description: Additional details specific to this type of event
total_tax_amount:
type: number
description: Total tax amount
total_amount:
type: number
description: Total Amount
sku:
maxLength: 127
type: string
description: The stock keeping unit (SKU) for the item.
description:
maxLength: 127
type: string
description: The detailed item description.
category:
type: string
description: 'The item category type.
The possible values are:
* DIGITAL_GOODS - Goods that are stored, delivered, and used in their electronic format.
* PHYSICAL_GOODS - A tangible item that can be shipped with proof of delivery.'
enum:
- DIGITAL_GOODS
- PHYSICAL_GOODS
GooglePayCardConfigRequest:
required:
- payment_contract_id
- sca_compliance_level
- threed_secure
type: object
properties:
sca_compliance_level:
type: string
description: "Strong Customer Authentication (SCA) compliance level, possible values \n * NONE: No SCA required. \n * WALLET: based on the assurance details, if those are false, Google Pay will indicate the PSP to trigger 3DS which in this case will be required. \n Details [here](https://developers.google.com/pay/api/web/reference/response-objects#assurance-details-specifications)\n * FORCE_3DS: SCA will be triggered. Regarding the liability shift, please check\n [this page](https://developers.googleblog.com/en/google-pay-enabling-liability-shift-for-eligible-visa-device-token-transactions-globally/)"
enum:
- NONE
- WALLET
- FORCE_3DS
threed_secure:
$ref: '#/components/schemas/ThreeDSData'
authorization_type:
type: string
description: 'Default: "FINAL_AUTH"
Other Possible Values: "PRE_AUTH"
Text: PRE_AUTH is used when a merchant wants to ensure shopper''s funds availability at a later time.
Attention: If you are using PRE_AUTH function make sure capture_now is set as FALSE. Otherwise the PRE_AUTH will not work.
'
default: FINAL_AUTH
shopper_interaction:
$ref: '#/components/schemas/shopper_interaction'
payment_contract_id:
type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
token_preference:
$ref: '#/x-alt-definitions/token_preference'
CardMode3DS:
allOf:
- $ref: '#/components/schemas/basic_card'
- type: object
required:
- threed_secure
properties:
threed_secure:
$ref: '#/components/schemas/threed_secure'
shopper_interaction:
$ref: '#/components/schemas/shopper_interaction'
I18nConfiguration:
type: object
properties:
default_language:
type: string
description: Default language is used for displaying the page. Any customer language choice would override this option
default: en
fallback_language:
type: string
description: Fallback language is used when DEFAULT_LANGUAGE is invalid. Any customer language choice would override this option
default: en
show_language_options:
type: boolean
description: Indicates whether a language selection option should be shown to the customer on the Checkout page or not
default: true
description: Language preferences for the checkout page. Read Localisation for details.
KlarnaPaymentConfig:
type: object
properties:
capture_now:
type: boolean
description: 'True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don''t have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE. '
default: true
description: Klarna payment configuration
shopper_interaction:
type: string
description: Used to indicate the channel used by to send they checkout link
* ECOMMERCE
* MAIL - value is used only in Virtual terminal transactions and cannot be used in createCheckout API call
* TELEPHONE - value is used only in Virtual terminal transactions and cannot be used in createCheckout API call
default: ECOMMERCE
enum:
- ECOMMERCE
- MAIL
- TELEPHONE
ApplePayCardConfig:
required:
- payment_contract_id
- sca_compliance_level
- threed_secure
type: object
properties:
sca_compliance_level:
type: string
default: NONE
description: "Strong Customer Authentication (SCA) compliance level, possible values \n * NONE: No SCA required. \n *Deprecated WALLET: Apple Pay will indicate the PSP to trigger 3DS which in this case will be required.\n Details [here](https://developers.google.com/pay/api/web/reference/response-objects#assurance-details-specifications)\n *Deprecated FORCE_3DS: SCA will be triggered. Regarding the liability shift, please check\n [this page](https://developers.googleblog.com/en/google-pay-enabling-liability-shift-for-eligible-visa-device-token-transactions-globally/)\n *Note: Apple Pay is SCA compliant by design and 3DS check is not a mandatory function for processing transactions with this wallet. As a result, the previously supported WALLET and FORCE_3DS parameters are no longer relevant for Apple Pay transactions and have been deprecated.\n Supports only NONE. Any other values (WALLET or FORCE_3DS) are sanitized and ignored."
enum:
- NONE
- WALLET
- FORCE_3DS
threed_secure:
deprecated: true
description: Used for 3D-Secure payments
type: object
authorization_type:
type: string
description: 'Default: "FINAL_AUTH"
Other Possible Values: "PRE_AUTH"
Text: PRE_AUTH is used when a merchant wants to ensure shopper''s funds availability at a later time.
Attention: If you are using PRE_AUTH function make sure capture_now is set as FALSE. Otherwise the PRE_AUTH will not work.
'
default: FINAL_AUTH
shopper_interaction:
$ref: '#/components/schemas/shopper_interaction'
payment_contract_id:
type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
token_preference:
$ref: '#/x-alt-definitions/token_preference'
stored_credential:
required:
- processing_model_details
- stored_credential_type
type: object
description: Used for transactions with Stored Credentials
properties:
stored_credential_type:
type: string
description: must be one of SIGNUP CHARGE
enum:
- SIGNUP
- CHARGE
first_payment:
type: boolean
description: 'Set to true if this signup request also is the first payment.
Most relevant for signup using a minor amount, to indicate if that minor amount is just a signup account verification amount or an actual first payment amount as well.
Default on this endpoint is that zero amount is not a payment, but any amount provided is a payment.
Use this indicator to explicitly tell the intention.
'
consent_text:
maxLength: 2048
pattern: '[\p{L}\p{N}.,_\-+\s\\{\\}]'
type: string
description: Optional merchant provided text to display to the shopper as a checkbox, requiring their consent for the given sign up, detailing the terms at which the shopper agrees to be charged in the future. If not provided, there will be no consent checkbox.
consent_text_dynamic_values:
$ref: '#/components/schemas/consentTextDynamicValues'
processing_model_details:
$ref: '#/components/schemas/processing_model_details'
reference:
type: string
scheme_reference:
type: string
SMSNotification:
type: object
properties:
phone_number:
maxLength: 15
pattern: ^[0-9-\s\-+().-]+$
type: string
description: Phone number to which notification will be sent. This field can only be used for Pay By Link feature.
CreateCheckoutRequest:
title: StandardRequest
required:
- amount
- configurations
- currency_code
- entity_id
type: object
properties:
entity_id:
type: string
description: Entity Id can be located on the organization level as Organization ID (Administration > Organizations > [Organization] > Organisation ID value)
currency_code:
type: string
description: Currency code
enum:
- 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
- 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
amount:
maximum: 9007199254740991
minimum: 0
type: integer
description: Transaction amount - Transaction with zero amount value will be considered as account verification and by default implicitly capture will be set to false for AV transaction
customer:
type: string
description:
ID of a Customer created via the Customer API. A customer object can be created and attached to a Checkout. The customer object can store relevant customer details. Some of these details might be required, depending on the payment method and/or authentication mechanisms (e.g., 3DS) used in the Checkout
configurations:
$ref: '#/components/schemas/PaymentConfigurations'
expiry_time:
type: string
description: Expiry time of the Checkout page. Defaults to 15 min from creation time. If a user tries to visit or use an expired Checkout, an error will be shown. Maximum value is 30 days.
format: date
merchant_reference:
maxLength: 50
pattern: ^[^=+\-@].*
type: string
description: Reference provided by Merchant to identify the Checkout and the transaction initiated from it
return_url:
type: string
description: URL belonging to the Merchant website, where the Customer would be redirected after the Checkout has been completed. If this parameter is used, the customer will be redirected after spending 10 seconds on the payment confirmation page provided by Verifone in case of HPP and PAYMENT LINK transactions. For IFRAME transaction the redirect is performed right after the checkout page without passing through the payment confirmation page.
Note 1: The return_url accepts only securely connected URLs i.e., via https protocol.
Note 2: The time after which redirection happens can be customized using redirect_method.
shop_url:
type: string
description: URL belonging to the Merchant website, where the Customer would be redirected in case of cancelled Checkout.
Note: Only applicable to HPP or PAYMENT_LINK interaction type.
i18n:
$ref: '#/components/schemas/I18nConfiguration'
interaction_type:
type: string
description: 'Type of checkout. Allows for distinguishing payments accepted via different channels.
Possible Values:
* HPP - For payments done as Hosted Payments Page integration.
* IFRAME - For payments done as an Iframe integration.
* PAYMENT_LINK - For payments done through the Payment link feature in the merchant portal.'
default: HPP
enum:
- HPP
- IFRAME
- PAYMENT_LINK
notification_methods:
$ref: '#/components/schemas/notification_methods'
display_line_items:
type: boolean
description: Indicates whether line items should be displayed on the page. Defaults to true
default: true
line_items:
description: "List of shopping cart items to be displayed on the page.\n \nIMPORTANT: Please read the Line items documentation for required parameters depending on your payment methods."
title: Ecommerce basket line items
type: array
items:
$ref: '#/components/schemas/LineItem'
theme_id:
type: string
description: Parameter that was created within the create theme API call that applies the customizations upon the checkout interface. Read Theming for details.
receipt_type:
type: string
description: 'Can be used to send different invoices to the customer.
Possible Values:
* INVOICE
* FULL_RECEIPT
* SIMPLE_RECEIPT
* INVOICE_RECEIPT
'
enum:
- INVOICE
- FULL_RECEIPT
- SIMPLE_RECEIPT
- INVOICE_RECEIPT
sales_description:
maxLength: 200
type: string
description: General description of the document
sales_channel:
type: string
description: 'Channel used to process transactions.
Possible Values:
* ECOMMERCE
* MOTO
For sales_channel MOTO, no card.shopper_interaction is needed to be sent for this option.'
enum:
- ECOMMERCE
- MOTO
customer_details:
$ref: '#/components/schemas/customer_details'
purchase_order_number:
type: string
description: Reference number that facilitates card acceptor/corporation communication and record keeping.
tax_indicator:
type: string
description: Flag that indicates whether an order is taxable.
enum:
- TAX_NOT_PROVIDED
- TAX_PROVIDED
- NON_TAXABLE
tax_amount:
type: number
description: Total tax amount for all the items offers.
promo_code:
type: string
description: A code defined by the merchant that affects the calculation of the total amount.
invoice_number:
maxLength: 127
type: string
description: The invoice number to track this payment.
Note: Valid for card payments only.
transaction_type:
type: string
description: this field is only applicable for virtual terminal. Supported value for this field is UNMATCHED_REFUND.
allow_customer_inputs:
type: boolean
default: false
description: Allows customer to enter or update their billing/shipping information on the hosted payments page.Only applicable for HPP and PAYMENT_LINK interaction types.
checkout_template_id:
type: string
description: "Checkout template UUID \n**WARNING**: Only active template allowed.\n"
redirect_method:
type: string
enum:
- DEFAULT
- HEADER_REDIRECT
description: "Configures the redirect behaviour for return_url on successful payment when interaction type is either HPP or PAYMENT_LINK \n * DEFAULT: The customer will be redirected after spending 10 seconds on the payment confirmation page provided by Verifone. \n * HEADER_REDIRECT: The payment confirmation page is skipped and the customer is redirected immediately.
\n Note: This parameter does not have any effect when interaction type is IFRAME. "
handle_order_confirmation:
type: boolean
description: 'This change will remove the payment confirmation page from the user interface. Payment actions will now be managed through postMessage events.
Checkout Events:
* CHECKOUT_RENDERED: Indicates successful iFrame loading.
* CHECKOUT_RENDERED_FAILED: Signals iFrame loading failure.
* CARD_DETAILS_ENTERED: Triggered after the cardholder inputs card details.
* CHECKOUT_FAILED: Occurs when the checkout process encounters an error.
Payment Action listerer events:
* CONTINUE: Initiates the payment process.
**Note:** This parameter has no effect when the interaction type is HPP or PAYMENT_LINK.'
default: false
show_confirmation_page:
type: boolean
description: 'This change will remove the payment confirmation page from the user interface. Payment actions will now be managed through postMessage events.
Checkout Events:
* CARD_CAPTURE_SUCCESS: Indicates successful card capture.
* CHECKOUT_COMPLETED: Signals successful completion of the checkout process.
* CHECKOUT_FAILED: Occurs when the checkout process encounters an error.
**Note:** This parameter has no effect when the interaction type is HPP or PAYMENT_LINK.'
default: true
promo_financing_details:
$ref: '#/components/schemas/promo_financing_details'
ErrorResponse:
type: object
properties:
code:
type: number
description: A 3-digit code which uniquely identify an error.
details:
$ref: '#/components/schemas/details'
message:
maxLength: 2048
type: string
description: A description of the error.
timestamp:
type: string
description: Error timestamp
format: date-time
VippsCardConfigRequest:
required:
- sca_compliance_level
- threed_secure
type: object
properties:
sca_compliance_level:
type: string
description: "Strong Customer Authentication (SCA) compliance level, possible values \n * NONE: No SCA required. \n * WALLET: Depend on the wallet SCA mechanism. For Google Pay this means that MasterCard will shift liability, Visa will not. \n * FORCE_3DS: Do an additional 3DS step regardless of whether the wallet indicates the token is SCA-compliant."
enum:
- NONE
- WALLET
- FORCE_3DS
threed_secure:
$ref: '#/components/schemas/ThreeDSData'
authorization_type:
type: string
description: Card Authorization Type (PRE_AUTH, FINAL_AUTH). When capture now is set to true pre-authorization transactions cannot be done.
default: FINAL_AUTH
swish_req:
type: object
properties:
app_phone_number:
maxLength: 18
pattern: ^[0-9-\s\-+().-]+$
type: string
description: Indicates the phone number registered with Swish Mobile APP.
shopper_interaction:
type: string
description: 'Used to indicate the channel used by to send they checkout link
* ECOMMERCE
* MCOMMERCE '
default: ECOMMERCE
enum:
- ECOMMERCE
- MCOMMERCE
description: Swish payment configuration
payment_contract_id:
oneOf:
- type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
- type: object
$ref: '#/x-alt-definitions/paymentContractIdDef'
processing_model_details:
required:
- processing_model
type: object
properties:
processing_model:
type: string
description:
* RECURRING - allows only for RECURRING subsequent charges to be done.
* NONE - does not specify what is the type of subsequent charges. Only allows CREDENTIAL_ON_FILE and UNSCHEDULED_CREDENTIAL_ON_FILE charges.
* If it is RECURRING for SIGNUP should be RECURRING FOR CHARGE TOO.
* If it is NONE for SIGNUP should be CREDENTIAL_ON_FILE or UNSCHEDULED_CREDENTIAL_ON_FILE FOR CHARGE.
enum:
- RECURRING
- NONE
total_payment_number:
maximum: 9007199254740991
minimum: 0
type: integer
description: Total number of payments for the stored credential series. Usage applies to specific acquirers. Used only for processing_model=RECURRING
total_payment_amount:
maximum: 9007199254740991
minimum: 0
type: integer
description: Total amount for all the payments in the stored credential series. Usage applies to specific acquirers. Used only for processing_model=RECURRING
first_payment_amount:
maximum: 9007199254740991
minimum: 0
type: integer
description: Amount of first payment for the stored credential series. Usage applies to specific acquirers. Used only for processing_model=RECURRING
payment_frequency:
$ref: '#/components/schemas/payment_frequency'
merchant_signup_code:
type: string
description: Merchant signup code for the stored credential series. Usage applies to specific acquirers. Used only for processing_model=NONE
apple_pay:
type: object
description: Apple Pay payment configuration
properties:
dynamic_descriptor:
maxLength: 25
type: string
description: Value is displayed as short text on the bank statement of the cardholder
capture_now:
type: boolean
description: True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don't have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE.
default: true
account_validation:
type: boolean
description: 'Indicates whether the card transaction should be processed as Account Validation request instead. If set to true, the amount provided for the Checkout would be ignored and the transaction be processed with amount: 0'
default: false
card:
$ref: '#/components/schemas/ApplePayCardConfig'
PaymentConfigurations:
type: object
properties:
card:
$ref: '#/components/schemas/CardConfiguration'
gpp2:
$ref: '#/components/schemas/GPP2PaymentConfig'
gift_card:
$ref: '#/components/schemas/gift_card'
paypal:
$ref: '#/components/schemas/PaypalPaymentConfig'
google_pay:
$ref: '#/components/schemas/GooglePayPaymentConfig'
apple_pay:
$ref: '#/components/schemas/apple_pay'
klarna:
$ref: '#/components/schemas/KlarnaPaymentConfig'
vipps:
$ref: '#/components/schemas/VippsPaymentConfigRequest'
swish:
$ref: '#/components/schemas/swish_req'
mobile_pay:
$ref: '#/components/schemas/mobile_pay_req'
bank:
$ref: '#/components/schemas/bank'
plcc:
$ref: '#/components/schemas/plcc'
description: Payment method configurations
gift_card:
type: object
description: Gift Card payment configuration
properties:
capture_now:
type: boolean
description: True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don't have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE.
default: true
card:
$ref: '#/components/schemas/GiftCardCardConfig'
CardConfiguration:
discriminator:
propertyName: mode
mapping:
3DS_PAYMENT: '#/components/schemas/CardMode3DSPayment'
3DS: '#/components/schemas/CardMode3DS'
PAYMENT: '#/components/schemas/CardModePayment'
CARD_CAPTURE: '#/components/schemas/CardModeCapture'
anyOf:
- $ref: '#/components/schemas/CardMode3DSPayment'
- $ref: '#/components/schemas/CardMode3DS'
- $ref: '#/components/schemas/CardModePayment'
- $ref: '#/components/schemas/CardModeCapture'
type: object
properties:
mode:
$ref: '#/components/schemas/card_mode'
card_capture_mode:
$ref: '#/components/schemas/card_capture_mode'
cvv_required:
type: boolean
description: Indicates whether cvv is required
default: false
input_overrides:
anyOf:
- $ref: '#/x-alt-definitions/input_overrides'
- $ref: '#/x-alt-definitions/Model2'
description: Card payment configuration
GPP2PaymentConfig:
required:
- payment_contract_id
type: object
properties:
payment_contract_id:
type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
shopper_interaction:
type: string
description: Used to indicate the channel used by to send they checkout link
* ECOMMERCE
* MAIL - value is used only in Virtual terminal transactions and cannot be used in createCheckout API call
* MCOMMERCE
* TELEPHONE - value is used only in Virtual terminal transactions and cannot be used in createCheckout API call
default: ECOMMERCE
enum:
- ECOMMERCE
- MAIL
- MCOMMERCE
- TELEPHONE
description: GPP2 payment configuration
promo_financing_details:
type: object
properties:
promo_financing_type:
type: string
enum:
- PROMO_APR
- PROMO_AND_AFTER_APR
description: 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`).
promo_plan:
type: string
description: The code or name of a promotional financing plan as set up between merchant and issuer.
promo_plan_expiry:
type: string
format: date
description: Expiry date for the requested promo plan. The format for the date is Mongo DB ISO 8601.
Example: 2026-03-20T10:48:00.000Z
customer_details:
required:
- entity_id
type: object
properties:
billing:
$ref: '#/components/schemas/billing'
company_name:
maxLength: 100
type: string
description: Company of the customer. . **Required** in case that billing.firstName & billing.lastName are not provided.
company_registration_number:
maxLength: 24
type: string
description: "Unique identifier of the company, recognised by the government.\n Known as CoC (Chamber of Commerce) number in some countries"
email_address:
maxLength: 255
type: string
description: 'Consumer''s email address.
**Field required for**: Klarna, Paypal'
entity_id:
type: string
description: Entity Id can be located on the organization level as Organization ID (Administration > Organizations > [Organization] > Organisation ID value)
phone_number:
maxLength: 25
pattern: ^(\s*[0-9-+().])[0-9-\s+().]*$
type: string
description: Cardholder's phone number
shipping:
$ref: '#/components/schemas/shipping'
title:
pattern: ^[a-zA-Z-\s.]+$
maxLength: 120
type: string
description: Title
work_phone:
maxLength: 25
pattern: ^(\s*[0-9-+().])[0-9-\s+().]*$
type: string
description: Consumer's work phone number.
tax:
$ref: '#/components/schemas/tax'
GiftCardCardConfig:
type: object
description: Card object configuration
required:
- payment_contract_id
properties:
payment_contract_id:
maxLength: 25
type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
shopper_interaction:
$ref: '#/components/schemas/shopper_interaction'
authorization_type:
type: string
description: Card Authorization Type.
default: FINAL_AUTH
pin_required:
type: boolean
default: false
description: Indicates whether security code for gift card is required or no.
token_preference:
description: Read Tokenization for additional information
required:
- token_scope
type: object
properties:
token_scope:
type: string
description: The token scope under which a token gets created
token_expiry_date:
type: string
description: Token expiry date
format: date
token_type:
type: string
description: Token type
default: REUSE
bank:
required:
- op
type: object
properties:
dynamic_descriptor:
maxLength: 25
type: string
description: Value is displayed as short text on the bank statement of the cardholder
authorization_type:
type: string
description: Card Authorization Type (PRE_AUTH, FINAL_AUTH). When capture now is set to true pre-authorization transactions cannot be done.
default: FINAL_AUTH
shopper_interaction:
type: string
description: Used to indicate the channel used by to send they checkout link
* ECOMMERCE
* MAIL
enum:
- ECOMMERCE
- MAIL
message_to_customer:
type: string
description: Message to customer
maxLength: 500
op:
$ref: '#/components/schemas/op'
description: Bank payment configuration
basic_card:
type: object
properties:
mode:
$ref: '#/components/schemas/card_mode'
card_capture_mode:
$ref: '#/components/schemas/card_capture_mode'
cvv_required:
type: boolean
description: Indicates whether cvv is required
default: false
input_overrides:
anyOf:
- $ref: '#/x-alt-definitions/input_overrides'
- $ref: '#/x-alt-definitions/Model2'
description: Card payment configuration
payment_frequency:
type: object
description: Payment frequencies. Used only for processing_model=RECURRING
properties:
time_unit:
type: string
description: must be one of DAY WEEK MONTH YEAR
enum:
- DAY
- WEEK
- MONTH
- YEAR
value:
type: number
card_mode:
type: string
description: '- `PAYMENT` - A checkout is created with the intent to perform a card payment. Verifone takes care of the full payment process and returns the final transaction response to the merchant, alongside any related details to it. Requires providing payment provider contract details.
- `3DS_PAYMENT` - Same as `PAYMENT` but with performing 3DS verification.
- `CARD_CAPTURE` - A checkout is created with intent to retrieve customer''s card data. The checkout captures the card data of the shopper, encrypts it and returns it to the Merchant. The Merchant then uses the encrypted card data to perform 3DS and/or payments with it.
The following fields are not required:
* amount
* currency_code
* receipt_type
Note: This option only returns an encrypted card in the end of the checkout process, no transaction is performed. You must perform the read checkout to get the encrypted card.
- `3DS` - A checkout is created with intent to perform 3DS verification for the cardholder. The checkout captures the card data and performs 3DS verification with it and returns both card data and 3DS results to the Merchant. The merchant then can then use the encrypted card data to perform a payment with it. Requires providing 3DS contract details.'
enum:
- PAYMENT
- 3DS_PAYMENT
- CARD_CAPTURE
- 3DS
shipping:
type: object
properties:
address_1:
maxLength: 40
type: string
description: 'Consumer''s primary shipping address information.
**Field required for**: Klarna, Paypal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish'
address_2:
maxLength: 40
type: string
description: 'Consumer''s secondary shipping address information.
**Field required for**: Paypal'
address_3:
maxLength: 40
type: string
description: Consumer's third shipping address information.
city:
maxLength: 28
type: string
description: 'Consumer''s city on their shipping address.
**Field required for**: Klarna, Paypal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish'
first_name:
maxLength: 22
type: string
description: 'Consumer''s first name.
**Field required for**: Klarna, Vipps, MobilePay'
middle_name:
maxLength: 22
type: string
description: Consumer's middle name.
last_name:
maxLength: 22
type: string
description: 'Consumer''s last name.
**Field required for**: Klarna, Vipps, MobilePay'
phone:
maxLength: 25
pattern: ^(\s*[0-9-+().])[0-9-\s+().]*$
type: string
description: '**Field required for**: Klarna, Paypal, Vipps, MobilePay'
country_code:
type: string
description: 'Consumer''s alpha 2 digit ISO 3166 country code. (e.g. United
States = US)
**Field required for**: Klarna, Paypal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish'
postal_code:
maxLength: 10
type: string
description: 'Consumer''s postal code of their shipping address.
**Field required for**: Klarna, Paypal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish'
state:
maxLength: 35
type: string
description: 'Consumer''s state or province of their shipping address. (e,g.
Ohio = OH, Texas = TX)
**Field required for**: Klarna, Paypal'
InstalmentConfiguration:
required:
- max_number_of_instalments
type: object
properties:
max_number_of_instalments:
minimum: 1
type: integer
description: The number of individual parts that the total amount should be paid in
down_payment_amount:
maximum: 9007199254740991
minimum: 0
type: integer
description: An integer value for down payment amount
description: The details on the instalment scheme that should be enacted by the issuer. Only applicable for ABS Acquirer.
plcc:
type: object
properties:
mode:
$ref: '#/components/schemas/plcc_mode'
payment_contract_id:
type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
shopper_interaction:
$ref: '#/components/schemas/shopper_interaction'
authorization_type:
type: string
description: Card Authorization Type (PRE_AUTH, FINAL_AUTH). When capture now is set to true pre-authorization transactions cannot be done.
default: FINAL_AUTH
capture_now:
type: boolean
description: 'True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don''t have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE. '
default: true
description: Plcc payment configuration
additional_business_data:
type: object
properties:
addendum1:
maxLength: 300
type: string
description: Additional field 1 for processor data.
addendum2:
maxLength: 300
type: string
description: Additional field 2 for processor data.
description: Merchant defined additional data fields for ABS Acquirer.
PaypalPaymentConfig:
required:
- payment_contract_id
type: object
properties:
dynamic_descriptor:
maxLength: 2048
type: string
description: Value is displayed as short text on the bank statement of the cardholder
capture_now:
type: boolean
description: 'True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don''t have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE. '
default: true
payment_contract_id:
type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
description:
maxLength: 2048
type: string
description: paypal request description
application_context:
$ref: '#/components/schemas/application_context'
description: Paypal payment configuration
consentTextDynamicValues:
type: array
description: Optional merchant provided links to be inserted in consent text as a link for the text in brackets.
items:
type: string
CardModePayment:
allOf:
- $ref: '#/components/schemas/basic_card'
- type: object
required:
- payment_contract_id
properties:
dynamic_descriptor:
maxLength: 25
type: string
description: Value is displayed as short text on the bank statement of the cardholder
capture_now:
type: boolean
description: 'True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don''t have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE. '
default: true
shopper_interaction:
$ref: '#/components/schemas/shopper_interaction'
account_validation:
type: boolean
description: 'Indicates whether the card transaction should be processed as Account Validation request instead. If set to true, the amount provided for the Checkout would be ignored and the transaction be processed with amount: 0'
default: false
authorization_type:
type: string
description: Card Authorization Type (PRE_AUTH, FINAL_AUTH). When capture now is set to true pre-authorization transactions cannot be done.
default: FINAL_AUTH
payment_contract_id:
$ref: '#/components/schemas/payment_contract_id'
token_preference:
$ref: '#/x-alt-definitions/card_token_preference'
credit_term:
type: string
description: 'Determines the transaction type. Only applicable for ABS Acquirer.Available options:
STANDARD - Sale
PREFERRED - Sale - Preferred Isracard
DEBIT - Sale - Direct Debit
INSTALMENT_STANDARD - Instalment standard
INSTALMENT_CREDIT - Instalment credit
'
enum:
- DEBIT
- STANDARD
- PREFERRED
- INSTALMENT_CREDIT
- INSTALMENT_STANDARD
instalment:
$ref: '#/components/schemas/InstalmentConfiguration'
stored_credential:
$ref: '#/components/schemas/stored_credential'
additional_business_data:
$ref: '#/components/schemas/additional_business_data'
reuse_token:
maxLength: 4096
type: string
description: The identifier used to represent the Cardholder data.
fraud_protection_contract:
type: string
description: Fraud Protection Contract Id
details:
type: object
EmailNotification:
type: object
properties:
email_address:
maxLength: 255
type: string
description: Email address to which notification will be sent. This field can only be used for Pay By Link feature.
CreateCheckoutResponse:
required:
- id
type: object
properties:
id:
type: string
description: Checkout ID
url:
type: string
description: URL of the Checkout
card_capture_mode:
type: string
description: 'Method of capturing card data.
v2 is used by default as the recommended method.
v1 is considered deprecated and is not supported for new integrations.'
enum:
- v2
- v1
GooglePayPaymentConfig:
type: object
description: Google Pay payment configuration
properties:
dynamic_descriptor:
maxLength: 25
type: string
description: Value is displayed as short text on the bank statement of the cardholder
capture_now:
type: boolean
description: True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don't have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE.
default: true
account_validation:
type: boolean
description: 'Indicates whether the card transaction should be processed as Account Validation request instead. If set to true, the amount provided for the Checkout would be ignored and the transaction be processed with amount: 0'
default: false
card:
$ref: '#/components/schemas/GooglePayCardConfigRequest'
CardMode3DSPayment:
allOf:
- $ref: '#/components/schemas/basic_card'
- type: object
required:
- threed_secure
- payment_contract_id
properties:
threed_secure:
$ref: '#/components/schemas/threed_secure'
dynamic_descriptor:
maxLength: 25
type: string
description: Value is displayed as short text on the bank statement of the cardholder
capture_now:
type: boolean
description: 'True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don''t have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE. '
default: true
shopper_interaction:
type: string
description: Used to indicate the channel used by to send they checkout link
* ECOMMERCE
enum:
- ECOMMERCE
account_validation:
type: boolean
description: 'Indicates whether the card transaction should be processed as Account Validation request instead. If set to true, the amount provided for the Checkout would be ignored and the transaction be processed with amount: 0'
default: false
authorization_type:
type: string
description: Card Authorization Type (PRE_AUTH, FINAL_AUTH). When capture now is set to true pre-authorization transactions cannot be done.
default: FINAL_AUTH
payment_contract_id:
$ref: '#/components/schemas/payment_contract_id'
token_preference:
$ref: '#/x-alt-definitions/card_token_preference'
credit_term:
type: string
description: 'Determines the transaction type. Only applicable for ABS Acquirer. Available options:
STANDARD - Sale
PREFERRED - Sale - Preferred Isracard
DEBIT - Sale - Direct Debit
INSTALMENT_STANDARD - Instalment standard
INSTALMENT_CREDIT - Instalment credit
'
enum:
- DEBIT
- STANDARD
- PREFERRED
- INSTALMENT_CREDIT
- INSTALMENT_STANDARD
instalment:
$ref: '#/components/schemas/InstalmentConfiguration'
stored_credential:
$ref: '#/components/schemas/stored_credential'
additional_business_data:
$ref: '#/components/schemas/additional_business_data'
reuse_token:
maxLength: 4096
type: string
description: The identifier used to represent the Cardholder data.
CardCaptureRequest:
title: CardCaptureRequest
required:
- configurations
- entity_id
type: object
properties:
entity_id:
type: string
description: Entity Id can be located on the organization level as Organization ID (Administration > Organizations > [Organization] > Organisation ID value)
customer:
type: string
description: ID of a Customer created via the Customer API. A customer object can be created and attached to a Checkout. The customer object can store relevant customer details. Some of these details might be required, depending on the payment method and/or authentication mechanisms (e.g., 3DS) used in the Checkout
configurations:
type: object
properties:
card:
type: object
properties:
mode:
type: string
enum:
- CARD_CAPTURE
card_capture_mode:
$ref: '#/components/schemas/card_capture_mode'
cvv_required:
type: boolean
description: Indicates whether cvv is required
default: false
input_overrides:
anyOf:
- $ref: '#/x-alt-definitions/input_overrides'
- $ref: '#/x-alt-definitions/Model2'
description: Card payment configuration
expiry_time:
type: string
description: Expiry time of the Checkout page. Defaults to 15 min from creation time. If a user tries to visit or use an expired Checkout, an error will be shown. Maximum value is 30 days.
format: date
merchant_reference:
maxLength: 50
pattern: ^[^=+\-@].*
type: string
description: Reference provided by Merchant to identify the Checkout and the transaction initiated from it
return_url:
type: string
description: URL belonging to the Merchant website, where the Customer would be redirected after the Checkout has been completed. If this parameter is used, the customer will be redirected after spending 10 seconds on the payment confirmation page provided by Verifone in case of HPP and PAYMENT LINK transactions. For IFRAME transaction the redirect is performed right after the checkout page without passing through the payment confirmation page.
Note 1: The return_url accepts only securely connected URLs i.e., via https protocol.
Note 2: The time after which redirection happens can be customized using redirect_method.
shop_url:
type: string
description: URL belonging to the Merchant website, where the Customer would be redirected in case of cancelled Checkout.
Note: Only applicable to HPP or PAYMENT_LINK interaction type.
i18n:
$ref: '#/components/schemas/I18nConfiguration'
interaction_type:
type: string
description: 'Type of checkout. Allows for distinguishing payments accepted via different channels.
Possible Values:
* HPP - For payments done as Hosted Payments Page integration.
* IFRAME - For payments done as an Iframe integration.
* PAYMENT_LINK - For payments done through the Payment link feature in the merchant portal.'
default: HPP
enum:
- HPP
- IFRAME
- PAYMENT_LINK
notification_methods:
$ref: '#/components/schemas/notification_methods'
theme_id:
type: string
description: Parameter that was created within the create theme API call that applies the customizations upon the checkout interface. Read Theming for details.
sales_channel:
type: string
description: 'Channel used to process transactions.
Possible Values:
* ECOMMERCE
* MOTO
For sales_channel MOTO, no card.shopper_interaction is needed to be sent for this option.'
enum:
- ECOMMERCE
- MOTO
redirect_method:
type: string
enum:
- DEFAULT
- HEADER_REDIRECT
description: "Configures the redirect behaviour for return_url on successful payment when interaction type is either HPP or PAYMENT_LINK \n * DEFAULT: The customer will be redirected after spending 10 seconds on the payment confirmation page provided by Verifone. \n * HEADER_REDIRECT: The payment confirmation page is skipped and the customer is redirected immediately.
\n Note: This parameter does not have any effect when interaction type is IFRAME."
op:
type: object
required:
- payment_contract_id
properties:
payment_contract_id:
type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
multi_bank_payment_option:
type: boolean
description: Indicator for using multi bank payment
card_req:
required:
- sca_compliance_level
- threed_secure
type: object
properties:
sca_compliance_level:
type: string
description: "Strong Customer Authentication (SCA) compliance level, possible values \n * NONE: No SCA required. \n * WALLET: Depend on the wallet SCA mechanism. For Google Pay this means that MasterCard will shift liability, Visa will not. \n * FORCE_3DS: Do an additional 3DS step regardless of whether the wallet indicates the token is SCA-compliant."
enum:
- NONE
- WALLET
- FORCE_3DS
threed_secure:
$ref: '#/components/schemas/threed_secure'
authorization_type:
type: string
description: Card Authorization Type (PRE_AUTH, FINAL_AUTH). When capture now is set to true pre-authorization transactions cannot be done.
default: FINAL_AUTH
encrypted_card:
maxLength: 4096
type: string
description: Encrypted card details
card_encryption_key_alias:
type: string
description: Public key alias
return_url:
type: string
description: URL belonging to the Merchant website, where the Customer would be redirected after the Checkout has been completed. If this parameter is used, the customer will be redirected after spending 10 seconds on the payment confirmation page provided by Verifone in case of HPP and PAYMENT LINK transactions. For IFRAME transaction the redirect is performed right after the checkout page without passing through the payment confirmation page.
Note 1: The return_url accepts only securely connected URLs i.e., via https protocol.
Note 2: The time after which redirection happens can be customized using redirect_method.
CardModeCapture:
allOf:
- $ref: '#/components/schemas/basic_card'
- type: object
threed_secure:
required:
- enabled
- threeds_contract_id
type: object
description: Used for 3D-Secure payments
properties:
account_age_indicator:
type: string
description: 'Length of time cardholder has had account.
Possible Values:
* 01 - No account
* 02 - Created during transaction
* 03 - Less than 30 days
* 04 - 30-60 days
* 05 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
account_create_date:
type: string
description: 'Date the cardholder opened the account. `Format: YYYYMMDD`'
format: date
account_change_indicator:
type: string
description: 'Length of time since the last change to the cardholder account. This includes shipping address,
new payment account or new user added. Possible Values:
* 01 - Changed during transaction
* 02 - Less than 30 days
* 03 - 30-60 days
* 04 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
account_change_date:
type: string
description: 'Date the cardholder''s account was last changed. This includes changes to the billing or shipping address, new payment accounts or new users added.` Format: YYYYMMDD`
'
format: date
account_pwd_change_indicator:
type: string
description: 'Length of time since the cardholder changed or reset the password on the account.
Possible Values:
* 01 - No change
* 02 - Changed during transaction
* 03 - Less than 30 days
* 04 - 30-60 days
* 05 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
account_pwd_change_date:
type: string
description: 'Date the cardholder last changed or reset password on account. `Format: YYYYMMDD`'
format: date
account_id:
maxLength: 64
type: string
description: Additional cardholder account information.
account_purchases:
maximum: 9999
type: integer
description: Number of purchases with this cardholder account during the previous six months.
acs_window_size:
type: string
description: 'An override field that a merchant can pass in to set the challenge window size to display to the end
cardholder.The ACS will reply with content that is formatted appropriately to this window size to allow
for the best user experience. The sizes are width x height in pixels of the window displayed in
the cardholder browser window. Possible values:
* 01 - 250x400
* 02 - 390x400
* 03 - 500x600
* 04 - 600x400
* 05 - Full page
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
add_card_attempts:
maximum: 999
type: integer
description: Number of add card attempts in the last 24 hours.
address_match:
type: string
description: 'Indicates whether cardholder billing and shipping addresses match.
Possible Values:
* Y - Shipping address matches billing address
* N - Shipping address does not match billing address
'
enum:
- Y
- N
alternate_authentication_method:
type: string
description: 'Mechanism used by the cardholder to authenticate to the 3DS requester.
Possible Values:
* 01 - No authentication occurred (e.g. Guest Checkout)
* 02 - Login to the cardholder account at the Merchant system using Merchant system credentials
* 03 - Login to the cardholder account at the Merchant system using a Federated ID
* 04 - Login to the cardholder account at the Merchant system using Issuer credentials
* 05 - Login to the cardholder account at the Merchant system using third-party authentication
* 06 - Login to the cardholder account at the Merchant system using FIDO Authenticator
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
alternate_authentication_date:
type: string
description: 'Date and time in UTC of the cardholder authentication. ` Format: YYYYMMDDHHMM`'
format: date
alternate_authentication_data:
maxLength: 2048
type: string
description: Data that documents and supports a specific authentication
process that was sent in the AlternateAuthenticationMethod field.
threeds_contract_id:
maxLength: 36
type: string
description: The ID of the threeDSContract used.
authentication_indicator:
type: string
description: Indicates the type of Authentication request. 01 - Payment transaction
02 - Recurring transaction
03 - Installment transaction
04 - Add card
05 - Maintain card
06 - Cardholder verification as part of EMV token ID&V
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
category_code:
maximum: 9999
type: integer
description: Merchant category code (MCC)
Note: This value is always taken from 3-D Secure Contract. If 3-D Secure Contract is not configured with MCC, Cardinal will use the default value configured.
deprecated: true
challenge_indicator:
type: string
description: 'NOTE: This is a 2.0 required field, Cardinal will default to 01 on Merchant Configuration
- can be overridden by the merchant. Possible Values:
* 01 - No preference
* 02 - No challenge requested
* 03 - Challenge requested (3DS Requestor Preference)
* 04 - Challenge requested (Mandate)
* 05 - No challenge requested (transactional risk analysis is already performed)
* 06 - No challenge requested (Data share only)
* 07 - No challenge requested (strong consumer authentication is already performed)
* 08 - No challenge requested (utilise whitelist exemption if no challenge required)
* 09 - Challenge requested (whitelist prompt requested if challenge required)
* 90 - CB specific value
'
default: '01'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
- '07'
- 08
- 09
- '90'
delivery_email:
maxLength: 255
type: string
description: For electronic delivery, email address to which the merchandise was delivered.
delivery_time_frame:
type: string
description: 'Indicates the delivery timeframe.
Possible Values:
* 01 - Electronic delivery
* 02 - Same day shipping
* 03 - Overnight shipping
* 04 - Two or more day shipping
'
enum:
- '01'
- '02'
- '03'
- '04'
enabled:
type: boolean
description: Whether 3DS should be used.
fraud_activity:
type: string
description: 'Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.
Possible Values:
* 01 - No suspicious activity
* 02 - Suspicious activity observed
'
enum:
- '01'
- '02'
gift_card_amount:
maximum: 999999999999999
type: integer
description: 'The purchase amount total for prepaid gift cards in major units.
Example: $123.45 USD = 12345
'
gift_card_currency_code:
maxLength: 3
minLength: 3
type: string
description: ISO 4217 currency code for the gift card purchased.
gift_card_count:
maximum: 99
type: integer
description: Total count of individual prepaid gift cards purchased.
installment:
maximum: 999
minimum: 2
type: number
description: Indicates the maximum number of authorizations for installment payments. An integer value greater than 1 indicating the maximum number of permitted authorizations for installment payments. ** Required for Recurring and Installment transactions, when authenticationIndicator="02" & "03" **
message_category:
type: string
description: 'Category of the message for a specific use case.
Possible Values:
* 01 - PA (payment)
* 02 - NPA (non payment)
NOTE: Default is payment (01). Configured on Merchant account, or can be overridden on transaction.
'
enum:
- '01'
- '02'
payment_use_case:
type: string
description: 'Indicates the type of payment.The value from this field will be mapped to the data field on the CB-USECASE extension
Possible Values:
* 01 - Single Payment
* 02 - Fixed Amount and Term Subscription
* 03 - Payment By Instalments
* 04 - Payment By Shipment
* 05 - Other Recurring Payments
NOTE: Required for CB transactions (Required if message_category = 01, or message_category = 02 and authentication_indicator = 02 or 03
'
default: '01'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
payment_account_indicator:
type: string
description: 'Indicates the length of time that the payment account was enrolled in the merchant account.
Possible Values:
* 01 - No account (guest checkout)
* 02 - During the transaction
* 03 - Less than 30 days
* 04 - 30-60 days
* 05 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
payment_account_age:
type: string
description: 'Date the payment account was added to the cardholder account. ` Format: YYYYMMDD`'
format: date
pre_order_indicator:
type: string
description: 'Indicates whether cardholder is placing an order with a future availability or release date.
Possible Values:
* 01 - Merchandise available
* 02 - Future availability
'
enum:
- '01'
- '02'
pre_order_date:
type: string
description: 'Expected date that a pre-ordered purchase will be available. `Format: YYYYMMDD`'
format: date
prior_authentication_data:
maxLength: 2048
type: string
description: This field carry data that the ACS can use to verify the authentication process
prior_authentication_method:
type: string
description: Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.
* 01 - Frictionless authentication occurred by ACS
* 02 - Cardholder challenge occurred by ACS
* 03 - AVS verified
* 04 - Other issuer methods
enum:
- '01'
- '02'
- '03'
- '04'
prior_authentication_time:
type: string
description: 'Date and time in UTC of the prior cardholder authentication. ` Format: YYYYMMDDHHMM`'
format: date
prior_authentication_ref:
maxLength: 36
type: string
description: This data element contains a ACS Transaction ID for a prior authenticated transaction.
For example, the first recurring transaction that was authenticated with the cardholder
product_code:
type: string
description: 'Merchant product code.
Possible Values:
* PHY - Goods/Service Purchase
* CHA - Check Acceptance
* ACF - Account Funding
* QCT - Quasi-Cash Transaction
* PAL - Prepaid Activation and Load
NOTE: This value defaults to PHY. This field can be used to override that value if applicable.
'
enum:
- PHY
- CHA
- ACF
- QCT
- PAL
recurring_end:
type: string
description: 'The date after which no further recurring authorizations should be performed. `Format: YYYYMMDD` ** Required for Recurring and Installment transactions, when authenticationIndicator="02" & "03" **'
format: date
recurring_frequency:
maximum: 9999
type: number
description: 'Conditional: Integer value indicating the minimum number of days between recurring authorizations. A frequency of monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months. Example: 6 months = 168 ** Required for Recurring and Installment transactions, when authenticationIndicator="02" & "03" **'
reorder_indicator:
type: string
description: 'Indicates whether cardholder is placing an order with a future availability or release date.
Possible Values:
* 01 - Merchandise available
* 02 - Future availability
'
enum:
- '01'
- '02'
requestor_id:
maxLength: 35
type: string
description: 'This value is a Directory Server assigned 3DS Requestor Name value, each DS may provide a unique ID.
NOTE: This is a 2.0 value only and if passed will override the Requestor Name value that is,
configured on the Merchant''s profile.'
requestor_name:
maxLength: 40
type: string
description: 'This value is a Directory Server assigned 3DS Requestor Name value, each DS may provide a unique ID.
NOTE: This is a 2.0 value only and if passed will override the Requestor Name value that is configured
on the Merchant''s profile.'
shipping_address_usage_indicator:
type: string
description: 'Indicates when the shipping address used for transaction was first used.
Possible Values:
* 01 - This transaction
* 02 - Less than 30 days
* 03 - 30-60 days
* 04 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
shipping_address_usage_date:
type: string
description: 'Date when the shipping address used for this transaction was first used.
`Format: YYYYMMDD`
'
format: date
shipping_method_indicator:
type: string
description: 'Indicates shipping method chosen for the transaction.
Possible Values:
* 01 - Ship to cardholder billing address
* 02 - Ship to another verified address on file with merchant
* 03 - Ship to address that is different than billing address
* 04 - Ship to store (store address should be populated on request)
* 05 - Digital goods
* 06 - Travel and event tickets, not shipped
* 07 - Other
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
- '07'
shipping_name_indicator:
type: string
description: 'Indicates if the cardholder name on the account is identical to the
shipping name used for the transaction. Possible Values:
* 01 - Account and shipping name identical
* 02 - Account and shipping name differ
'
enum:
- '01'
- '02'
total_items:
pattern: ^[0-9]{2}$
type: string
description: Total items in the shopping cart of the shopper
merchant_score:
maxLength: 20
type: string
description: Merchant score
transaction_count_day:
maximum: 999
type: integer
description: Number of transactions (successful or abandoned) for this cardholder account within the last 24 hours.
transaction_count_year:
maximum: 999
type: integer
description: Number of transactions (successful or abandoned) for this cardholder account within the last year.
transaction_mode:
type: string
description: 'Transaction mode identifier. Identifies the channel the transaction originates from. Available Options:
M - Moto (Mail Order Telephone Order)
P - Mobile Device
R - Retail (Physical Store)
S - Computer Device
T - Tablet Device
'
enum:
- M
- P
- R
- S
- T
version:
type: string
description: This field contains the 3DS version that can be leveraged to force a transaction down the 1.0 rails.
enum:
- 1.0.2
- 2.1.0
- 2.2.0
deprecated: true
white_list_status:
type: string
description: 'Enables the communication of trusted beneficiary between the ACS, the DS and the 3DS Requestor.
Possible Values:
* `Y` - 3DS Requestor is trustlisted by cardholder
* `N` - 3DS Requestor is not trustlisted by cardholder
* `E` - Not eligible as determined by issuer
* `P` - Pending confirmation by cardholder
* `R` - Cardholder rejected
* `U` - Trustlist status unknown, unavailable, or does not apply
Note: This field may be returned for 2.1.0 if the MasterCard PSD2 extensions are passed and issuer supports them.
'
enum:
- Y
- N
- E
- P
- R
- U
white_list_status_source:
type: string
description: This data element will be populated by the system setting Whitelist Status.
enum:
- '01'
- '02'
- '03'
mobile_pay_req:
required:
- payment_contract_id
type: object
properties:
payment_contract_id:
type: string
description: This parameter can be found in the portal on the Payment Provider Contract attached to your organization or given to you by a Verifone employee. It is used to retrieve MID and other merchant configurations necessary for a card payment.
dynamic_descriptor:
maxLength: 25
type: string
description: Value is displayed as short text on the bank statement of the cardholder
capture_now:
type: boolean
description: 'True - transaction will be sent as authCapture and automatically captured.
False - transaction will be sent as auth and only authorized. NOT CAPTURED.
If you don''t have any value in the capture_now parameter, at the moment of the call the value will be set as TRUE. '
default: true
card:
$ref: '#/components/schemas/card_req'
description: MobilePay payment configuration
billing:
type: object
properties:
address_1:
maxLength: 40
type: string
description: Customer's primary billing address information.
address_2:
maxLength: 40
type: string
description: Customer's secondary billing address information.
address_3:
maxLength: 40
type: string
description: Customer's third billing address information.
city:
maxLength: 28
type: string
description: Customer's city on their billing address.
country_code:
type: string
description: Customer's alpha 2 digit ISO 3166 country code. (e.g. United States = US)
first_name:
maxLength: 22
type: string
description: Customer's first name.
**Required** in case that companyName is not provided.
middle_name:
maxLength: 22
type: string
description: Customer's middle name.
last_name:
maxLength: 22
type: string
description: Customer's last name.
**Required** in case that companyName is not provided.
phone:
maxLength: 25
pattern: ^(\s*[0-9-+().])[0-9-\s+().]*$
type: string
description: Customer's phone number for billing address.
postal_code:
maxLength: 10
type: string
description: Customer's postal code of their billing address.
**Required** if the payment method is PayPal.
state:
maxLength: 35
type: string
description: Customer's state or province of their billing address. (e,g. Ohio = OH, Texas = TX)
tax:
type: object
properties:
identifier:
pattern: ^[0-9]+$
type: string
description: An optional identifier of the document recipient:
Personal ID (for individuals)
Tax identification number (for business)
ThreeDSData:
description: Used for 3D-Secure payments
required:
- threeds_contract_id
- transaction_mode
type: object
properties:
account_age_indicator:
type: string
description: 'Length of time cardholder has had account.
Possible Values:
* 01 - No account
* 02 - Created during transaction
* 03 - Less than 30 days
* 04 - 30-60 days
* 05 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
account_create_date:
type: string
description: 'Date the cardholder opened the account. `Format: YYYYMMDD`'
format: date
account_change_indicator:
type: string
description: 'Length of time since the last change to the cardholder account. This includes shipping address,
new payment account or new user added. Possible Values:
* 01 - Changed during transaction
* 02 - Less than 30 days
* 03 - 30-60 days
* 04 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
account_change_date:
type: string
description: 'Date the cardholder''s account was last changed. This includes changes to the billing or shipping address, new payment accounts or new users added.` Format: YYYYMMDD`
'
format: date
account_pwd_change_indicator:
type: string
description: 'Length of time since the cardholder changed or reset the password on the account.
Possible Values:
* 01 - No change
* 02 - Changed during transaction
* 03 - Less than 30 days
* 04 - 30-60 days
* 05 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
account_pwd_change_date:
type: string
description: 'Date the cardholder last changed or reset password on account. `Format: YYYYMMDD`'
format: date
account_id:
maxLength: 64
type: string
description: Additional cardholder account information.
account_purchases:
maximum: 9999
type: integer
description: Number of purchases with this cardholder account during the previous six months.
acs_window_size:
type: string
description: 'An override field that a merchant can pass in to set the challenge window size to display to the end
cardholder.The ACS will reply with content that is formatted appropriately to this window size to allow
for the best user experience. The sizes are width x height in pixels of the window displayed in
the cardholder browser window. Possible values:
* 01 - 250x400
* 02 - 390x400
* 03 - 500x600
* 04 - 600x400
* 05 - Full page
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
add_card_attempts:
maximum: 999
type: integer
description: Number of add card attempts in the last 24 hours.
address_match:
type: string
description: 'Indicates whether cardholder billing and shipping addresses match.
Possible Values:
* Y - Shipping address matches billing address
* N - Shipping address does not match billing address
'
enum:
- Y
- N
alternate_authentication_method:
type: string
description: 'Mechanism used by the cardholder to authenticate to the 3DS requester.
Possible Values:
* 01 - No authentication occurred (e.g. Guest Checkout)
* 02 - Login to the cardholder account at the Merchant system using Merchant system credentials
* 03 - Login to the cardholder account at the Merchant system using a Federated ID
* 04 - Login to the cardholder account at the Merchant system using Issuer credentials
* 05 - Login to the cardholder account at the Merchant system using third-party authentication
* 06 - Login to the cardholder account at the Merchant system using FIDO Authenticator
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
alternate_authentication_date:
type: string
description: 'Date and time in UTC of the cardholder authentication. ` Format: YYYYMMDDHHMM`'
format: date
alternate_authentication_data:
maxLength: 2048
type: string
description: Data that documents and supports a specific authentication
process that was sent in the AlternateAuthenticationMethod field.
threeds_contract_id:
maxLength: 36
type: string
description: The ID of the threeDSContract used.
authentication_indicator:
type: string
description: Indicates the type of Authentication request. 01 - Payment transaction
02 - Recurring transaction
03 - Installment transaction
04 - Add card
05 - Maintain card
06 - Cardholder verification as part of EMV token ID&V
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
category_code:
maximum: 9999
type: integer
description: 'Merchant category code (MCC) NOTE: This field is required by Mastercard and VISA Brazil extensions.
'
challenge_indicator:
type: string
description: 'NOTE: This is a 2.0 required field, Cardinal will default to 01 on Merchant Configuration
- can be overridden by the merchant. Possible Values:
* 01 - No preference
* 02 - No challenge requested
* 03 - Challenge requested (3DS Requestor Preference)
* 04 - Challenge requested (Mandate)
* 90 - CB specific value
'
default: '01'
enum:
- '01'
- '02'
- '03'
- '04'
- '90'
delivery_email:
maxLength: 255
type: string
description: For electronic delivery, email address to which the merchandise was delivered.
delivery_time_frame:
type: string
description: 'Indicates the delivery timeframe.
Possible Values:
* 01 - Electronic delivery
* 02 - Same day shipping
* 03 - Overnight shipping
* 04 - Two or more day shipping
'
enum:
- '01'
- '02'
- '03'
- '04'
enabled:
type: boolean
description: Whether 3DS should be used.
default: true
fraud_activity:
type: string
description: 'Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.
Possible Values:
* 01 - No suspicious activity
* 02 - Suspicious activity observed
'
enum:
- '01'
- '02'
gift_card_amount:
maximum: 999999999999999
type: integer
description: 'The purchase amount total for prepaid gift cards in major units.
Example: $123.45 USD = 12345
'
gift_card_currency_code:
maxLength: 3
minLength: 3
type: string
description: ISO 4217 currency code for the gift card purchased.
gift_card_count:
maximum: 99
type: integer
description: Total count of individual prepaid gift cards purchased.
installment:
maximum: 999
minimum: 2
type: number
description: Indicates the maximum number of authorizations for installment payments. An integer value greater than 1 indicating the maximum number of permitted authorizations for installment payments. ** Required for Recurring and Installment transactions, when authenticationIndicator="02" & "03" **
message_category:
type: string
description: 'Category of the message for a specific use case.
Possible Values:
* 01 - PA (payment)
* 02 - NPA (non payment)
NOTE: Default is payment (01). Configured on Merchant account, or can be overridden on transaction.
'
enum:
- '01'
- '02'
payment_use_case:
type: string
description: 'Indicates the type of payment.The value from this field will be mapped to the data field on the CB-USECASE extension
Possible Values:
* 01 - Single Payment
* 02 - Fixed Amount and Term Subscription
* 03 - Payment By Instalments
* 04 - Payment By Shipment
* 05 - Other Recurring Payments
NOTE: Required for CB transactions (Required if message_category = 01, or message_category = 02 and authentication_indicator = 02 or 03
'
default: '01'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
payment_account_indicator:
type: string
description: 'Indicates the length of time that the payment account was enrolled in the merchant account.
Possible Values:
* 01 - No account (guest checkout)
* 02 - During the transaction
* 03 - Less than 30 days
* 04 - 30-60 days
* 05 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
payment_account_age:
type: string
description: 'Date the payment account was added to the cardholder account. ` Format: YYYYMMDD`'
format: date
pre_order_indicator:
type: string
description: 'Indicates whether cardholder is placing an order with a future availability or release date.
Possible Values:
* 01 - Merchandise available
* 02 - Future availability
'
enum:
- '01'
- '02'
pre_order_date:
type: string
description: 'Expected date that a pre-ordered purchase will be available. `Format: YYYYMMDD`'
format: date
prior_authentication_data:
maxLength: 2048
type: string
description: This field carry data that the ACS can use to verify the authentication process
prior_authentication_method:
type: string
description: Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.
* 01 - Frictionless authentication occurred by ACS
* 02 - Cardholder challenge occurred by ACS
* 03 - AVS verified
* 04 - Other issuer methods
enum:
- '01'
- '02'
- '03'
- '04'
prior_authentication_time:
type: string
description: 'Date and time in UTC of the prior cardholder authentication. ` Format: YYYYMMDDHHMM`'
format: date
prior_authentication_ref:
maxLength: 36
type: string
description: This data element contains a ACS Transaction ID for a prior authenticated transaction.
For example, the first recurring transaction that was authenticated with the cardholder
product_code:
type: string
description: 'Merchant product code.
Possible Values:
* PHY - Goods/Service Purchase
* CHA - Check Acceptance
* ACF - Account Funding
* QCT - Quasi-Cash Transaction
* PAL - Prepaid Activation and Load
NOTE: This value defaults to PHY. This field can be used to override that value if applicable.
'
enum:
- PHY
- CHA
- ACF
- QCT
- PAL
recurring_end:
type: string
description: 'The date after which no further recurring authorizations should be performed. `Format: YYYYMMDD` ** Required for Recurring and Installment transactions, when authenticationIndicator="02" & "03" **'
format: date
recurring_frequency:
maximum: 9999
type: number
description: 'Conditional: Integer value indicating the minimum number of days between recurring authorizations. A frequency of monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months. Example: 6 months = 168 ** Required for Recurring and Installment transactions, when authenticationIndicator="02" & "03" **'
reorder_indicator:
type: string
description: 'Indicates whether cardholder is placing an order with a future availability or release date.
Possible Values:
* 01 - Merchandise available
* 02 - Future availability
'
enum:
- '01'
- '02'
requestor_id:
maxLength: 35
type: string
description: 'This value is a Directory Server assigned 3DS Requestor Name value, each DS may provide a unique ID.
NOTE: This is a 2.0 value only and if passed will override the Requestor Name value that is,
configured on the Merchant''s profile.'
requestor_name:
maxLength: 40
type: string
description: 'This value is a Directory Server assigned 3DS Requestor Name value, each DS may provide a unique ID.
NOTE: This is a 2.0 value only and if passed will override the Requestor Name value that is configured
on the Merchant''s profile.'
shipping_address_usage_indicator:
type: string
description: 'Indicates when the shipping address used for transaction was first used.
Possible Values:
* 01 - This transaction
* 02 - Less than 30 days
* 03 - 30-60 days
* 04 - More than 60 days
'
enum:
- '01'
- '02'
- '03'
- '04'
shipping_address_usage_date:
type: string
description: 'Date when the shipping address used for this transaction was first used.
`Format: YYYYMMDD`
'
format: date
shipping_method_indicator:
type: string
description: 'Indicates shipping method chosen for the transaction.
Possible Values:
* 01 - Ship to cardholder billing address
* 02 - Ship to another verified address on file with merchant
* 03 - Ship to address that is different than billing address
* 04 - Ship to store (store address should be populated on request)
* 05 - Digital goods
* 06 - Travel and event tickets, not shipped
* 07 - Other
'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
- '07'
shipping_name_indicator:
type: string
description: 'Indicates if the cardholder name on the account is identical to the
shipping name used for the transaction. Possible Values:
* 01 - Account and shipping name identical
* 02 - Account and shipping name differ
'
enum:
- '01'
- '02'
total_items:
pattern: ^[0-9]{2}$
type: string
description: Total items in the shopping cart of the shopper
merchant_score:
maxLength: 20
type: string
description: Merchant score
transaction_count_day:
maximum: 999
type: integer
description: Number of transactions (successful or abandoned) for this cardholder account within the last 24 hours.
transaction_count_year:
maximum: 999
type: integer
description: Number of transactions (successful or abandoned) for this cardholder account within the last year.
transaction_mode:
type: string
description: 'Transaction mode identifier. Identifies the channel the transaction originates from. Available Options:
M - Moto (Mail Order Telephone Order)
P - Mobile Device
R - Retail (Physical Store)
S - Computer Device
T - Tablet Device
'
enum:
- M
- P
- R
- S
- T
version:
type: string
description: This field contains the 3DS version that can be leveraged to force a transaction down the 1.0 rails.
enum:
- 1.0.2
- 2.1.0
- 2.2.0
deprecated: true
application_context:
type: object
properties:
landing_page:
type: string
description: The type of landing page to show on the PayPal site for customer checkout
enum:
- BILLING
- LOGIN
- NO_PREFERENCE
brand_name:
maxLength: 127
type: string
description: The label that overrides the business name in the PayPal account on the PayPal site.
locale:
maxLength: 10
minLength: 2
pattern: ^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}))?$
type: string
description: The BCP 47-formatted locale of pages that the PayPal payment experience shows.PayPal supports a five-character code. For example, da-DK, he-IL, id-ID, ja-JP, no-NO, pt-BR, ru-RU, sv-SE, th-TH, zh-CN, zh-HK, or zh-TW.
plcc_mode:
type: string
description: '- `CARD_CAPTURE` - A checkout is created with intent to retrieve customer''s card data. The checkout captures the card data of the shopper, encrypts it and returns it to the Merchant. The Merchant then uses the encrypted card data to perform 3DS and/or payments with it.
Following fields are not required:
* amount
* currency_code
* receipt_type
- `PAYMENT` - A checkout is created with the intent to perform a card payment. Verifone takes care of the full payment process and returns the final transaction response to the merchant, alongside any related details to it. Requires providing payment provider contract details.
'
enum:
- CARD_CAPTURE
- PAYMENT
notification_methods:
type: object
description: Parameter is used for the PAYMENT_LINK interaction type in order to specify the payment link delivery method ( Email or SMS )
properties:
email:
$ref: '#/components/schemas/EmailNotification'
sms:
$ref: '#/components/schemas/SMSNotification'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: 'JWT Bearer token. Pass as: `Authorization: Bearer `. The JWT must be signed with your Verifone-provisioned private key and must include `entity_id`, `sub` (user_id), and `roles` claims.'
BasicAuth:
type: http
scheme: basic
description: 'HTTP Basic authentication. Pass base64-encoded `username:password` as: `Authorization: Basic `.'