"Card" Payment Method
Payment Method Definition
displayedPaymentMethodsIt is a parameter in the Intent creation request that defines which payment method should be displayed to the payer on the checkout form. It is an alternative to
paymentMethodNamein host-to-host integrationThis parameter is provided in:
paymentIntent.formDetails.displayedPaymentMethods
Currently, only one payment method can be specified. Support for multiple payment methods will be added in the future.
| Options | displayedPaymentMethods value |
|---|---|
| You can use the generic card value |
|
| Or a region-specific card code: |
|
Payment Method Features
| Freature | Support |
|---|---|
| Payments | Yes |
| -- None 3DS | Yes |
| -- 3DS v1 | Yes |
| -- 3DS v2 | Yes |
| Disbursements | No |
Workflow
Auto-Capture: always ON
- When our Checkout Form integration is used, capture is initiated automatically immediately after successful authorisation.
- As a result, manual capture and cancellation flows are not supported for payments processed through the Checkout Form.
- If you need to reverse a completed transaction, please use the standard refund flow via Host-to-Host integration.

Download in high resolution
Create Intent Request
Specifics
- We use one unified Intent creation request for all supported payment methods: POST /processing/api/v1/intents
- The overall structure is the same, but some fields change depending on the payment method and the way of integration: Host-to-Host or Hosted Checkout.
- For Host-to-Host we will expect you to complete
Paymentobject- For Hosted Checkout we will expect you to complete
PaymentIntentobject- The required fields depend on the selected method, so this section must be completed carefully.
- The key difference is which object you provide in the request and at what stage the actual payment is created
'Intent' vs 'Payment' vs 'PaymentIntent'
Some objects and parameters in this API may appear similar, but they represent different concepts and are used in different integration scenarios. The explanation below clarifies the purpose of each term.
| Term | Meaning |
|---|---|
| Intent |
|
| Payment |
|
| PaymentIntent |
|
Request/Response Description
Request Description
{
"clientReferenceId": "1234",
"useCheckoutForm": true,
"paymentIntent": {
"formDetails": {
"template": "string",
"displayedPaymentMethods": ["Card"],
"backToStoreRedirectUrl": "string"
},
"submittedAmount": {
"value": 100.05,
"currency": "USD"
},
"description": "Vertex - INTENT 1234",
"webhookUrl": "webhookUrl",
"payer": {
"firstname": "Jake",
"lastname": "Yellow",
"phone": "+62285128011",
"email": "[email protected]",
"countryIsoCode": "PH",
"locale": "de-DE",
"taxIdentification": "798154336790",
"merchantPayerReference": "12345"
},
"payee": {
"firstNameLocal": "Иван",
"lastNameLocal": "Иванов",
"firstNameEng": "Ivan",
"lastNameEng": "Ivanov",
"dateOfBirth": "1985-02-14",
"placeOfBirth": "Smolensk",
"nationality": "RU",
"occupation": "Software Engineer",
"idType": "PASSPORT",
"idNumber": "AA1234567",
"taxId": "123456789",
"currentAddress": {
"country": "RU",
"city": "Smolensk",
"addressLine": "Minusinskaya st., 6, 10",
"postCode": "720001"
},
"email": "[email protected]",
"phone": "+79001234567",
"companyName": "ABC Ltd.",
"companyRegistrationNumber": "987654321",
"companyTaxId": "321654987",
"companyRegisteredAddress": "Smolensk, Minusinskaya st., 6",
"merchantPayeeReference": "12345",
"additionalData": {
"customField": "customValue"
}
}
},
"description": "Vertex - INTENT 1234",
"merchant": {
"name": "Mustermann",
"website": "website.io"
},
"extensionAttributes": {
"attributeName1": "attributeValue1",
"attributeName2": "attributeValue2"
}
}Top-Level Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
clientReferenceId | String | Required | Order number in the merchant system. |
useCheckoutForm | Boolean | Conditional | Optional in general. Must be set to true when using the Checkout Form integration. |
paymentIntent | Object | Conditional | Optional in general. Must be provided when using the Checkout Form integration. |
description | String | Optional | Order description. Displayed if paymentIntent.description is not provided. |
merchant | Object | Optional | Merchant information. Required if the store name must be displayed on the checkout form. |
extensionAttributes | Object | Optional | Additional key-value attributes forwarded to the payment partner as is. Send only if agreed with our integration team — see the extensionAttributes section below. |
paymentIntent
| Parameter | Type | Required | Description |
|---|---|---|---|
formDetails | Object | Optional | Checkout parameters |
submittedAmount | Object | Required | Order amount and currency |
description | String | Optional | Order Description that can be displayed on the Checkout Form. |
webhookUrl | String | Required | URL to which we will send webhooks related to payments created within the Intent and their status changes |
payer | Object | Optional | Payer (consumer) details. May be used to pre-fill the checkout form and for compliance/risk purposes. |
payee | Object | Optional | Payee (recipient/beneficiary) details. Used for compliance and reporting purposes when applicable. |
formDetails
| Parameter | Type | Required | Description |
|---|---|---|---|
template | String | Optional | The name of the checkout template to be used. Multiple templates can be configured and selected for different use cases |
displayedPaymentMethods | Array of Strings | Optional | List of payment methods to be made available to the payer. If only one payment method is provided, no selection screen is shown and the payer is taken directly to that payment method |
backToStoreRedirectUrl | String | Optional | URL to which the payer is redirected if they leave the Checkout Form or after payment completion. Must start with "https://". |
submittedAmount
| Parameter | Type | Required | Description |
|---|---|---|---|
value | Number | Required | Submitted order amount. May differ from the authorised amount if FX conversion is applied. |
currency | String | Required | Submitted order currency. May differ from the authorised amount if FX conversion is applied. |
payer
| Parameter | Type | Required | Description |
|---|---|---|---|
firstname | String | Optional | Payer's first name. Example: Jake |
lastname | String | Optional | Payer's last name. Example: Yellow |
phone | String | Optional | Payer's phone number, including country code. Example: +62285128011 |
email | String | Optional | Payer's email address. Example: [email protected] |
countryIsoCode | String | Optional | Payer's country of residence in ISO 3166-1 alpha-2 format. Example: PH |
locale | String | Optional | The locale describing the preferred language of the consumer. Used to localise the checkout form when supported. Example: de-DE |
taxIdentification | String | Optional | The consumer tax identification number (e.g., social security identification). Required by some payment methods or jurisdictions. Example: 798154336790 |
merchantPayerReference | String | Optional | The merchant-provided payer reference. Allows linking the payer to an internal customer record on the merchant side. Example: 12345 |
payee
| Parameter | Type | Required | Description |
|---|---|---|---|
firstNameLocal | String | Optional | Payee's first name in the local language. Example: Иван |
lastNameLocal | String | Optional | Payee's last name in the local language. Example: Иванов |
firstNameEng | String | Optional | Payee's first name in English. Example: Ivan |
lastNameEng | String | Optional | Payee's last name in English. Example: Ivanov |
dateOfBirth | String | Optional | Payee's date of birth in YYYY-MM-DD format.Example: 1985-02-14 |
placeOfBirth | String | Optional | Payee's place of birth. Example: Smolensk |
nationality | String | Optional | Payee's nationality in ISO 3166-1 alpha-2 format. Example: RU |
occupation | String | Optional | Payee's occupation. Example: Software Engineer |
idType | String | Optional | Type of identification document presented by the payee (e.g., PASSPORT, ID_CARD).Example: PASSPORT |
idNumber | String | Optional | Identification document number that matches the idType.Example: AA1234567 |
taxId | String | Optional | Payee's personal tax identification number. Example: 123456789 |
currentAddress | Object | Optional | Payee's current residential address. See the currentAddress table below for the field structure. |
email | String | Optional | Payee's email address. |
phone | String | Optional | Payee's phone number. |
companyName | String | Optional | Name of the company the payee represents (when the payee is a legal entity). Example: ABC Ltd. |
companyRegistrationNumber | String | Optional | Registration number of the payee's company. Example: 987654321 |
companyTaxId | String | Optional | Tax identification number of the payee's company. Example: 321654987 |
companyRegisteredAddress | String | Optional | Registered legal address of the payee's company. |
merchantPayeeReference | String | Optional | The merchant-provided payee reference. Allows linking the payee to an internal record on the merchant side. Example: 12345 |
additionalData | Object | Optional | Free-form key/value object for any additional payee details required by specific payment methods or compliance rules. |
payee.currentAddress
| Parameter | Type | Required | Description |
|---|---|---|---|
country | String | Optional | Country of the address in ISO 3166-1 alpha-2 format. Example: RU |
city | String | Optional | City. Example: Smolensk |
addressLine | String | Optional | Street address line. Example: Minusinskaya st., 6, 10 |
postCode | String | Optional | Postal / ZIP code. Example: 720001 |
merchant
| Parameter | Type | Required | Description |
|---|---|---|---|
name | String | Optional | The name of store, that might be displayed on the checkout form if configured |
website | String | Optional | The website of the store |
extensionAttributes
A free-form set of key-value attributes that our platform forwards to the payment partner as is — the content is not validated, transformed, or mapped on our side.
- The payment partner may require additional payment or payer attributes (for example, for anti-fraud screening) to improve the payment acceptance rate.
- The exact set of attribute names and values is agreed individually for your account and will be provided by our integration team.
- Send this object only if its usage has been explicitly agreed for your account. If the object is omitted, payment processing is not affected.
- The object is not returned in API responses (Intent or Payment details) or in webhooks.
| Parameter | Type | Required | Description |
|---|---|---|---|
{attributeName} | String | Optional | Attribute name and value as advised by our integration team. |
Response Description
{
"intentId": "string",
"useCheckoutForm": true,
"paymentIntent": {
"intentSessionId": "string",
"backToStoreRedirectUrl": "string",
"displayedPaymentMethods": ["Card"],
"submittedAmount": {
"value": 100.05,
"currency": "USD"
},
"description": "Vertex - INTENT 1234",
"webhookUrl": "webhookUrl",
"additionalData": {
"url": "link to our Checkout Form",
"expirationDateTime": "YYYY-MM-DDTHH:mm:ssZ"
},
"payer": {
"id": "string",
"firstname": "Jake",
"lastname": "Yellow",
"phone": "+62285128011",
"email": "[email protected]",
"countryIsoCode": "PH",
"locale": "de-DE",
"taxIdentification": "798154336790",
"merchantPayerReference": "12345"
},
"payee": {
"id": "string",
"merchantPayeeReference": "12345",
"firstNameLocal": "Иван",
"lastNameLocal": "Иванов",
"firstNameEng": "Ivan",
"lastNameEng": "Ivanov",
"dateOfBirth": "1985-02-14",
"placeOfBirth": "Smolensk",
"nationality": "RU",
"occupation": "Software Engineer",
"idType": "PASSPORT",
"idNumber": "AA1234567",
"taxId": "123456789",
"currentAddress": {
"id": "string",
"country": "RU",
"city": "Smolensk",
"addressLine": "Minusinskaya st., 6, 10",
"postCode": "720001"
},
"email": "[email protected]",
"phone": "+79001234567",
"companyName": "ABC Ltd.",
"companyRegistrationNumber": "987654321",
"companyTaxId": "321654987",
"companyRegisteredAddress": "Smolensk, Minusinskaya st., 6",
"additionalData": {
"customField": "customValue"
}
}
},
"clientReferenceIntentId": "string",
"merchant": {
"name": "Mustermann",
"website": "website.io"
},
"processingStatusCode": "CODE_PI0000",
"statusMessage": "string",
"description": "string",
"intentStatus": "CREATED"
}Top-Level Response Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
intentId | String | Required | Unique identifier of the Intent in our platform. |
useCheckoutForm | Boolean | Required | H2H: false or empty.Checkout: true. |
paymentIntent | Object | Conditional | Optional in general. Required when using the Checkout Form integration. |
clientReferenceIntentId | String | Required | Order number in the merchant system. Returned from the request. |
merchant | Object | Optional | Merchant information. Returned from the request. |
processingStatusCode | String | Required | Processing status code. May indicate success or an error. |
statusMessage | String | Optional | Status message. Returned when an error occurs. |
description | String | Optional | Intent description. Returned from the request. |
intentStatus | String | Required | Current Intent status. See the dedicated section of this API guide for possible values and the status model. |
paymentIntent
Note: in the response, the
paymentIntentobject is flattened compared to the request — checkout form fields (backToStoreRedirectUrl,displayedPaymentMethods) are returned directly onpaymentIntent, not inside a nestedformDetailsobject. Thetemplatefield from the request is not echoed back in the response.
| Parameter | Type | Required | Description |
|---|---|---|---|
intentSessionId | String | Optional | Our internal id of the session associated with the created Payment Intent. |
backToStoreRedirectUrl | String | Required | URL to which the payer is redirected if they leave the Checkout Form or after payment completion (returned from the request). |
displayedPaymentMethods | Array of Strings | Optional | List of payment methods made available to the payer on the Checkout Form (returned from the request). |
submittedAmount | Object | Required | Order amount and currency (returned from the request). |
description | String | Optional | Order Description (returned from the request). |
webhookUrl | String | Optional | Webhook URL to which we will send webhooks related to payments created within the Intent and their status changes (returned from the request). |
additionalData | Object | Required | An object containing important fields related to the checkout (e.g. checkout URL, session expiration). |
payer | Object | Optional | Payer details (returned from the request, enriched with internal id). |
payee | Object | Optional | Payee details (returned from the request, enriched with internal id). |
submittedAmount
| Parameter | Type | Required | Description |
|---|---|---|---|
value | Number | Required | Submitted order amount. Returned from the request. May differ from the authorised amount if FX conversion is applied. |
currency | String | Required | Submitted order currency. Returned from the request. May differ from the authorised amount if FX conversion is applied. |
additionalData
| Parameter | Type | Required | Description |
|---|---|---|---|
url | String | Required | Checkout form URL to which the payer must be redirected to complete the payment. |
expirationDateTime | String | Optional | Date and time when the Intent session expires, in format YYYY-MM-DDTHH:mm:ssZ.Until that time, the payer can access the checkout form and attempt the payment. Multiple payment attempts may be made during the session lifetime. If the session expires without a successful payment, a new Intent must be created. |
payer
| Parameter | Type | Required | Description |
|---|---|---|---|
id | String | Required | Internal identifier of the payer record created in our platform. |
firstname | String | Optional | Payer's first name (returned from the request). |
lastname | String | Optional | Payer's last name (returned from the request). |
phone | String | Optional | Payer's phone number (returned from the request). |
email | String | Optional | Payer's email address (returned from the request). |
countryIsoCode | String | Optional | Payer's country of residence in ISO 3166-1 alpha-2 format (returned from the request). |
locale | String | Optional | The locale describing the preferred language of the consumer (returned from the request). |
taxIdentification | String | Optional | The consumer tax identification number (returned from the request). |
merchantPayerReference | String | Optional | The merchant-provided payer reference (returned from the request). |
payee
| Parameter | Type | Required | Description |
|---|---|---|---|
id | String | Required | Internal identifier of the payee record created in our platform. |
merchantPayeeReference | String | Optional | The merchant-provided payee reference (returned from the request). |
firstNameLocal | String | Optional | Payee's first name in the local language (returned from the request). |
lastNameLocal | String | Optional | Payee's last name in the local language (returned from the request). |
firstNameEng | String | Optional | Payee's first name in English (returned from the request). |
lastNameEng | String | Optional | Payee's last name in English (returned from the request). |
dateOfBirth | String | Optional | Payee's date of birth in YYYY-MM-DD format (returned from the request). |
placeOfBirth | String | Optional | Payee's place of birth (returned from the request). |
nationality | String | Optional | Payee's nationality in ISO 3166-1 alpha-2 format (returned from the request). |
occupation | String | Optional | Payee's occupation (returned from the request). |
idType | String | Optional | Type of identification document presented by the payee (returned from the request). |
idNumber | String | Optional | Identification document number (returned from the request). |
taxId | String | Optional | Payee's personal tax identification number (returned from the request). |
currentAddress | Object | Optional | Payee's current residential address. See the currentAddress table below for the field structure. |
email | String | Optional | Payee's email address (returned from the request). |
phone | String | Optional | Payee's phone number (returned from the request). |
companyName | String | Optional | Company name (returned from the request). |
companyRegistrationNumber | String | Optional | Company registration number (returned from the request). |
companyTaxId | String | Optional | Company tax identification number (returned from the request). |
companyRegisteredAddress | String | Optional | Company registered address (returned from the request). |
additionalData | Object | Optional | Free-form key/value object with additional payee details (returned from the request). |
payee.currentAddress
| Parameter | Type | Required | Description |
|---|---|---|---|
id | String | Required | Internal identifier of the address record created in our platform. |
country | String | Optional | Country of the address in ISO 3166-1 alpha-2 format (returned from the request). |
city | String | Optional | City (returned from the request). |
addressLine | String | Optional | Street address line (returned from the request). |
postCode | String | Optional | Postal / ZIP code (returned from the request). |
merchant
| Parameter | Type | Required | Description |
|---|---|---|---|
name | String | Optional | The name of the store, that might be displayed on the checkout form if configured (from the request) |
website | String | Optional | The website of the store (from the request) |
Webhooks
After the checkout form is created, the payer can make multiple payment attempts during the payment session lifetime.
- By default, the session remains active for 20 minutes, although this value can be changed by your integration manager.
- Each payment attempt creates a new
paymentobject within theintent.- The platform sends webhooks to the URL provided in
paymentIntent.webhookUrlfrom the request whenever the status of any payment changes.- This applies to all payment attempts created within the same
intent.For more information about payment webhooks, see the dedicated page
Testing in Sandbox
The bank card emulator simulates the full Checkout payment lifecycle in the sandbox environment. Use the test cards below to reproduce specific authorisation and capture outcomes.
Use the listed test cards only. The card number is entered by the payer on the checkout page, after the Intent has been created. If the payer enters a card that is not on this list, authorisation will fail. Cards from the list are the only ones guaranteed to drive the emulator through a complete flow.
What the Checkout emulator covers
- Available in the sandbox environment only.
- Immediate capture is performed automatically after a successful authorisation. Manual capture and cancellation are not applicable to Checkout — any client settings related to capture mode are ignored.
- The flow (Frictionless or Challenge) and the outcome at each stage are determined by the PAN only. Expiry date, CVV, and cardholder name do not affect emulator logic — any values that pass form validation are accepted.
- Amount and currency do not affect emulator behaviour.
Frictionless flow
Authorisation completes without a 3DS challenge. The payer enters card details on the checkout page, and the payment is authorised and captured immediately.

Test cards
| Name | PAN | Authorisation | Capture |
|---|---|---|---|
| FF_Card_1 | 4462603043025620 | Success | Success |
| FF_Card_2 | 4462603040971339 | Success | Failure |
| FF_Card_3 | 4462603042343024 | Failure | Not applicable |
Challenge flow (3DS)
The payer is presented with an OTP form after entering card details. The OTP value entered by the payer determines the authorisation outcome; the PAN determines the subsequent capture outcome. Any OTP value other than those listed below has undefined behaviour.

Test cases
| Name | PAN | OTP | Authorisation | Capture |
|---|---|---|---|---|
| CF_Card_1 | 5120069996100821 | 1000 | Success | Success |
| CF_Card_2 | 5120069996491832 | 1000 | Success | Failure |
| Either of the above | — | 1001 | Failure | Not applicable |
Updated 9 days ago
