For the complete documentation index, see llms.txt. This page is also available as Markdown.

Checkout Sessions

A checkout session generates a hosted payment page (HPP) URL that the customer visits to complete payment. Sessions support cards, digital wallets (Google Pay, Apple Pay, PayPal), and local payment methods (Klarna, Vipps, Swish, MobilePay, and more). Once created, a session URL is valid for up to 30 days.

How It Works

1

Create the session

Call POST /v2/checkout with your entity_id, amount, currency_code, and the payment method configuration(s) you want to accept. The response includes a redirect_url — this is the hosted payment page you send the customer to.

2

Redirect the customer

Send the customer to the redirect_url. Verifone hosts the payment form; the customer selects their payment method and completes the transaction.

3

Handle the return

After payment, the customer is redirected to your return_url. Use GET /v2/checkout/{checkoutId} to retrieve the final session status and transaction details.

Payment Method Configurations

The configurations object in the create request controls which payment methods appear on the hosted page and how they behave.

Card (configurations.card)

Supports modes: PAYMENT, 3DS_PAYMENT, 3DS, and CARD_CAPTURE.

  • mode ✅ — Controls the transaction type

  • payment_contract_id ✅ — Required for PAYMENT and 3DS_PAYMENT

  • capture_now ➖ — Set true to capture immediately; false for pre-auth (not compatible with CARD_CAPTURE)

  • threed_secure ➖ — 3DS configuration block; required for 3DS and 3DS_PAYMENT modes

CARD_CAPTURE mode captures the card details only — no payment is processed.


API Reference

Create a Checkout

Create a checkout

post
/v2/checkout
Authorizations
AuthorizationstringRequired

HTTP Basic authentication using entity credentials (username:password encoded in Base64).

Body
or
Responses
200

Successful

application/json
idstringRequired

Checkout ID

urlstringOptional

URL of the Checkout

post
/v2/checkout

List Checkouts

List Checkouts

get
/v2/checkout
Authorizations
AuthorizationstringRequired

HTTP Basic authentication using entity credentials (username:password encoded in Base64).

Query parameters
searchstringRequired

Filter checkouts using RSQL syntax. Combine expressions with ; (AND) or , (OR).

Filterable fields:

FieldTypeOperators
amountnumber== != =in= =out= =gt= =ge= =lt= =le=
created_atdate== != =in= =out= =gt= =ge= =lt= =le=
currency_codestring== != =in= =out= =regex=
customerstring== != =in= =out= =regex=
idstring== != =in= =out= =regex=
merchant_referencestring== != =in= =out= =regex=
entity_idstring== != =in= =out= =regex=
updated_atdate== != =in= =out= =gt= =ge= =lt= =le=
expiry_timedate== != =in= =out= =gt= =ge= =lt= =le=
statusstring== != =in= =out= =regex=
notification_methods.email.email_addressstring== != =in= =out= =regex=
configurations.card.token_details.reuse_tokenstring== != =in= =out= =regex=
payment_method_usedstring== != =in= =out= =regex=
interaction_typestring== != =in= =out= =regex=
theme_idstring== != =in= =out= =regex=
transaction_idstring== != =in= =out= =regex=
created_bystring== != =in= =out= =regex=

Examples:

  • id==123;(amount==999,currency_code==USD);status==Authorized
  • id==12345,merchant_reference==1234554321;amount==3224
  • amount=in=(100,200);interaction_type!=PAYMENT_LINK
order_criteriastring · max: 255Optional

The ordering sequence of the selected checkouts If not selected then a default order is based on created Date Time. The value of order_criteria can be one of the following:

  • amount
  • currency_code
  • created_at
  • updated_at
order_bystring · enumOptional

The ordering sequence of the selected customers If not selected then Descending order is the default order.

Possible values:
page_numbernumber · min: 1Optional

A filter query in RSQL format to retrieve customers based on page number. If not selected then a default pageNumber is 1.

page_sizenumberOptional

A filter query in RSQL format to retrieve customers based on page size. If not selected then a default pageSize is 50

populate_customer_detailsbooleanOptional

A query param to allow customer details to be populated for the customer id attached to checkout.

Default: false
Responses
200

Successful

application/json
idstringRequired

Checkout ID

amountinteger · max: 9007199254740991Required

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

entity_idstringRequired

Entity Id can be located on the organization level as Organization ID (Administration > Organizations > [Organization] > Organisation ID value)

currency_codestring · enumRequired

Currency code

Possible values:
customerstringOptional

Customer UUID

expiry_timestring · dateOptional

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.

merchant_referencestring · max: 50Optional

Reference provided by Merchant to identify the Checkout and the transaction initiated from it

Pattern: ^[^=+\-@].*
return_urlstringOptional

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.

created_atstring · date-timeRequired

Checkout created time

updated_atstring · date-timeRequired

Checkout updated time

transaction_idstringOptional

Id of a successfully processed transaction with the Checkout

customer_ipstringOptional

Customer IP address from the last viewing of the Checkout page

user_agentstring · max: 256Optional

User agent of the browser of the Customer from the last time the Checkout was viewed

statusstringOptional

Checkout Status

display_line_itemsbooleanOptional

Indicates whether line items should be displayed on the page. Defaults to true

Default: true
interaction_typestring · enumOptional

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: HPPPossible values:
payment_method_usedstring · enumOptional

Payment method used on the checkout

Possible values:
urlstringOptional

URL of the Checkout

theme_idstringOptional

Parameter that was created within the create theme API call that applies the customizations upon the checkout interface. Read Theming for details.

receipt_typestring · enumOptional

Can be used to send different invoices to the customer.
Possible Values:
* INVOICE
* FULL_RECEIPT
* SIMPLE_RECEIPT
* INVOICE_RECEIPT

Possible values:
sales_descriptionstring · max: 200Optional

General description of the document

promo_codestringOptional

A code defined by the merchant that affects the calculation of the total amount.

invoice_numberstring · max: 127Optional

The invoice number to track this payment.
Note: Valid for card payments only.

transaction_typestringOptional

this field is only applicable for virtual terminal. Supported value for this field is UNMATCHED_REFUND.

created_bystringOptional

User id who created the checkout.

unmatched_refund_transaction_idstringOptional

Id of a successfully refunded transaction with the Checkout

allow_customer_inputsbooleanOptional

Allows customer to enter or update their billing/shipping information on the hosted payments page.Only applicable for HPP and PAYMENT_LINK interaction types.

Default: false
checkout_template_idstringOptional

Checkout template UUID
WARNING: Only active template allowed.

surcharge_amountnumberOptional

An optional additional amount representing the surcharge associated with a payment.

redirect_methodstring · enumOptional

Configures the redirect behaviour for return_url on successful payment when interaction type is either HPP or PAYMENT_LINK
* DEFAULT: The customer will be redirected after spending 10 seconds on the payment confirmation page provided by Verifone.
* HEADER_REDIRECT: The payment confirmation page is skipped and the customer is redirected immediately.
Note: This parameter does not have any effect when interaction type is IFRAME.

Possible values:
handle_order_confirmationbooleanOptional

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_pagebooleanOptional

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
get
/v2/checkout

Get a Checkout

Get a checkout by id

get
/v2/checkout/{checkoutId}
Authorizations
AuthorizationstringRequired

HTTP Basic authentication using entity credentials (username:password encoded in Base64).

Path parameters
checkoutIdstringRequired

Checkout ID

Responses
200

Successful

application/json
idstringRequired

Checkout ID

amountinteger · max: 9007199254740991Required

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

entity_idstringRequired

Entity Id can be located on the organization level as Organization ID (Administration > Organizations > [Organization] > Organisation ID value)

currency_codestring · enumRequired

Currency code

Possible values:
customerstringOptional

Customer UUID

expiry_timestring · dateOptional

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.

merchant_referencestring · max: 50Optional

Reference provided by Merchant to identify the Checkout and the transaction initiated from it

Pattern: ^[^=+\-@].*
return_urlstringOptional

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.

created_atstring · date-timeRequired

Checkout created time

updated_atstring · date-timeRequired

Checkout updated time

transaction_idstringOptional

Id of a successfully processed transaction with the Checkout

customer_ipstringOptional

Customer IP address from the last viewing of the Checkout page

user_agentstring · max: 256Optional

User agent of the browser of the Customer from the last time the Checkout was viewed

statusstringOptional

Checkout Status

display_line_itemsbooleanOptional

Indicates whether line items should be displayed on the page. Defaults to true

Default: true
interaction_typestring · enumOptional

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: HPPPossible values:
payment_method_usedstring · enumOptional

Payment method used on the checkout

Possible values:
urlstringOptional

URL of the Checkout

theme_idstringOptional

Parameter that was created within the create theme API call that applies the customizations upon the checkout interface. Read Theming for details.

receipt_typestring · enumOptional

Can be used to send different invoices to the customer.
Possible Values:
* INVOICE
* FULL_RECEIPT
* SIMPLE_RECEIPT
* INVOICE_RECEIPT

Possible values:
sales_descriptionstring · max: 200Optional

General description of the document

promo_codestringOptional

A code defined by the merchant that affects the calculation of the total amount.

invoice_numberstring · max: 127Optional

The invoice number to track this payment.
Note: Valid for card payments only.

transaction_typestringOptional

this field is only applicable for virtual terminal. Supported value for this field is UNMATCHED_REFUND.

created_bystringOptional

User id who created the checkout.

unmatched_refund_transaction_idstringOptional

Id of a successfully refunded transaction with the Checkout

allow_customer_inputsbooleanOptional

Allows customer to enter or update their billing/shipping information on the hosted payments page.Only applicable for HPP and PAYMENT_LINK interaction types.

Default: false
checkout_template_idstringOptional

Checkout template UUID
WARNING: Only active template allowed.

surcharge_amountnumberOptional

An optional additional amount representing the surcharge associated with a payment.

redirect_methodstring · enumOptional

Configures the redirect behaviour for return_url on successful payment when interaction type is either HPP or PAYMENT_LINK
* DEFAULT: The customer will be redirected after spending 10 seconds on the payment confirmation page provided by Verifone.
* HEADER_REDIRECT: The payment confirmation page is skipped and the customer is redirected immediately.
Note: This parameter does not have any effect when interaction type is IFRAME.

Possible values:
handle_order_confirmationbooleanOptional

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_pagebooleanOptional

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
get
/v2/checkout/{checkoutId}

Update a Checkout

Update a checkout

patch
/v2/checkout/{checkoutId}
Authorizations
AuthorizationstringRequired

HTTP Basic authentication using entity credentials (username:password encoded in Base64).

Path parameters
checkoutIdstringRequired

Checkout ID

Body
expiry_timestring · dateRequired

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.

Responses
200

Successful

application/json
idstringRequired

Checkout ID

amountinteger · max: 9007199254740991Required

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

entity_idstringRequired

Entity Id can be located on the organization level as Organization ID (Administration > Organizations > [Organization] > Organisation ID value)

currency_codestring · enumRequired

Currency code

Possible values:
customerstringOptional

Customer UUID

expiry_timestring · dateOptional

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.

merchant_referencestring · max: 50Optional

Reference provided by Merchant to identify the Checkout and the transaction initiated from it

Pattern: ^[^=+\-@].*
return_urlstringOptional

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.

created_atstring · date-timeRequired

Checkout created time

updated_atstring · date-timeRequired

Checkout updated time

transaction_idstringOptional

Id of a successfully processed transaction with the Checkout

customer_ipstringOptional

Customer IP address from the last viewing of the Checkout page

user_agentstring · max: 256Optional

User agent of the browser of the Customer from the last time the Checkout was viewed

statusstringOptional

Checkout Status

display_line_itemsbooleanOptional

Indicates whether line items should be displayed on the page. Defaults to true

Default: true
interaction_typestring · enumOptional

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: HPPPossible values:
payment_method_usedstring · enumOptional

Payment method used on the checkout

Possible values:
urlstringOptional

URL of the Checkout

theme_idstringOptional

Parameter that was created within the create theme API call that applies the customizations upon the checkout interface. Read Theming for details.

receipt_typestring · enumOptional

Can be used to send different invoices to the customer.
Possible Values:
* INVOICE
* FULL_RECEIPT
* SIMPLE_RECEIPT
* INVOICE_RECEIPT

Possible values:
sales_descriptionstring · max: 200Optional

General description of the document

promo_codestringOptional

A code defined by the merchant that affects the calculation of the total amount.

invoice_numberstring · max: 127Optional

The invoice number to track this payment.
Note: Valid for card payments only.

transaction_typestringOptional

this field is only applicable for virtual terminal. Supported value for this field is UNMATCHED_REFUND.

created_bystringOptional

User id who created the checkout.

unmatched_refund_transaction_idstringOptional

Id of a successfully refunded transaction with the Checkout

allow_customer_inputsbooleanOptional

Allows customer to enter or update their billing/shipping information on the hosted payments page.Only applicable for HPP and PAYMENT_LINK interaction types.

Default: false
checkout_template_idstringOptional

Checkout template UUID
WARNING: Only active template allowed.

surcharge_amountnumberOptional

An optional additional amount representing the surcharge associated with a payment.

redirect_methodstring · enumOptional

Configures the redirect behaviour for return_url on successful payment when interaction type is either HPP or PAYMENT_LINK
* DEFAULT: The customer will be redirected after spending 10 seconds on the payment confirmation page provided by Verifone.
* HEADER_REDIRECT: The payment confirmation page is skipped and the customer is redirected immediately.
Note: This parameter does not have any effect when interaction type is IFRAME.

Possible values:
handle_order_confirmationbooleanOptional

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_pagebooleanOptional

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
patch
/v2/checkout/{checkoutId}

Count Checkouts

Count Checkouts

get
/v2/checkout/count
Authorizations
AuthorizationstringRequired

HTTP Basic authentication using entity credentials (username:password encoded in Base64).

Query parameters
searchstringRequired

Filter checkouts using RSQL syntax. Combine expressions with ; (AND) or , (OR).

Filterable fields:

FieldTypeOperators
amountnumber== != =in= =out= =gt= =ge= =lt= =le=
created_atdate== != =in= =out= =gt= =ge= =lt= =le=
currency_codestring== != =in= =out= =regex=
customerstring== != =in= =out= =regex=
idstring== != =in= =out= =regex=
merchant_referencestring== != =in= =out= =regex=
entity_idstring== != =in= =out= =regex=
updated_atdate== != =in= =out= =gt= =ge= =lt= =le=
expiry_timedate== != =in= =out= =gt= =ge= =lt= =le=
statusstring== != =in= =out= =regex=
notification_methods.email.email_addressstring== != =in= =out= =regex=
configurations.card.token_details.reuse_tokenstring== != =in= =out= =regex=
payment_method_usedstring== != =in= =out= =regex=
interaction_typestring== != =in= =out= =regex=
theme_idstring== != =in= =out= =regex=
transaction_idstring== != =in= =out= =regex=
created_bystring== != =in= =out= =regex=

Examples:

  • id==123;(amount==999,currency_code==USD);status==Authorized
  • id==12345,merchant_reference==1234554321;amount==3224
  • amount=in=(100,200);interaction_type!=PAYMENT_LINK
Responses
200

Successful

application/json
countnumberOptional

Checkout count

get
/v2/checkout/count

Response Key Fields

After creating a checkout, store these values from the response:

Last updated

Was this helpful?