Skip to content

Personal data verification of cardholders

The system lets you send personal data parameters in the transaction requests if it is required to verify the customer's personal data in the system of the issuing bank with the customer's personal data in the merchant's system.

When activating verification service for the shop, one of the 2 modes is selected:

  • Strict mode: if a verification error occurs, the transaction is rejected. The transaction is assigned the F.0996 code, and the verification status will have one of the following error codes: F.0100, F.0101, F.0102;
  • Soft mode: some verification errors do not affect the transaction result, but the vpd_verification object will still contain the information about the verification error: S.0001 or S.0002

The verification service mode is selected depending on the requirements of the Republic of Belarus legislation applicable to the merchant’s field of activity.

See more about personal data verification error codes here.

Info

To increase the likelihood of successful verification for non-residents of Belarus, it is recommended to provide the most complete customer name details: first name, last name and middle name in both Latin transcription and Cyrillic.

Widget integration

To integrate with the payment widget or the payment page, initiate the widget or create a payment token with the additional parameters specified in the table:

object
object
A section of the customer details.
external_id
string (255)
The unique customer's identifier in the merchant's system.
birth_date
conditionally required
string
The customer's date of birth in the ISO 8601 YYYY-MM-DD format. Required only for residents of Belarus.
object
object
Section of additional information about the payment.
object
Information about the customer's personal identity document.
document_type
conditionally required
string (50)
Type of the ID document. Required only for non-residents of Belarus.
document_series
string (20)
Series of the ID document. The parameter is not sent if the series is already included in the document_number parameter.
document_number
conditionally required
string (50)
Number of the ID document. Required only for non-residents of Belarus.
document_country
conditionally required
string (2)
Country that issued the ID document in ISO 3166-1 alpha-2 format. Required only for non-residents of Belarus.
personal_number
conditionally required
string (50)
Personal number specified in the ID document. Required only for residents of Belarus.
object
Section of the customer's KYC (Know Your Customer) data.
object
A section of the KYC data.
phone
conditionally required
string (30)
The customer's phone number. The parameter is required for non-residents of Belarus. The value must start with + and must not contain spaces.
first_name
conditionally required
string (100)
The customer's first name in latin letters. The parameter is required for non-residents of Belarus.
last_name
conditionally required
string (100)
The customer's last name in latin letters. The parameter is required for non-residents of Belarus.
middle_name
string (100)
The customer's middle name in latin letters.
first_name_ru
conditionally required
string (100)
The customer's first name in Cyrillic.
middle_name_ru
conditionally required
string (100)
The customer's middle name in Cyrillic.
last_name_ru
string (100)
The customer's last name in Cyrillic.

Example

Payment token request example
{
  "checkout": {
    "test": true,
    "transaction_type": "payment",
    "settings": {
      "return_url": "http://127.0.0.1:4567/return",
      "success_url": "http://127.0.0.1:4567/success",
      "notification_url": "http://your_shop.com/notification"
    },
    "order": {
      "tracking_id": "your_unique_number",
      "currency": "BYN",
      "amount": 10000,
      "expired_at": "2025-11-29T05:33:38Z",
      "description": "description",
      "additional_data": {
        "customer_id_data": {            
          "personal_number": "30101990AB123CD4"
        }         
      }
    },
    "customer": {
      "external_id": "user-12345",
      "birth_date": "1990-01-01"
    }                
  }
}
Payment token request example
{
  "checkout": {
    "test": true,
    "transaction_type": "payment",
    "settings": {
      "return_url": "http://127.0.0.1:4567/return",
      "success_url": "http://127.0.0.1:4567/success",
      "notification_url": "http://your_shop.com/notification"
    },
    "order": {
      "tracking_id": "your_unique_number",
      "currency": "BYN",
      "amount": 10000,
      "expired_at": "2025-11-29T05:33:38Z",
      "description": "description",
      "additional_data": {
        "customer_id_data": {
          "document_type": "passport",            
          "document_number": "12345678",
          "document_country": "GB"            
        },
        "kyc_answers": {
          "answers": {
            "first_name": "Ivan",
            "last_name": "Ivanov",
            "middle_name": "Ivanovich",
            "first_name_ru": "Иван",
            "last_name_ru": "Иванов",
            "middle_name_ru": "Иванович"             
          }
        }
      }
    },
    "customer": {
      "external_id": "user-12345"
    }                
  }
}

Card payments

Authorization / Payment

Request

Send an authorization request or a payment request with the following additional parameters:

object
object
A section of the customer details.
external_id
string (255)
The unique customer's identifier in the merchant's system.
birth_date
conditionally required
string
The customer's date of birth in the ISO 8601 YYYY-MM-DD format. Required only for residents of Belarus.
object
Section of additional information about the payment.
object
Information about the customer's personal identity document.
document_type
conditionally required
string (50)
Type of the ID document. Required only for non-residents of Belarus.
document_series
string (20)
Series of the ID document. The parameter is not sent if the series is already included in the document_number parameter.
document_number
conditionally required
string (50)
Number of the ID document. Required only for non-residents of Belarus.
document_country
conditionally required
string (2)
Country that issued the ID document in ISO 3166-1 alpha-2 format. Required only for non-residents of Belarus.
personal_number
conditionally required
string (50)
Personal number specified in the ID document. Required only for residents of Belarus.
object
Section of the customer's KYC (Know Your Customer) data.
object
A section of the KYC data.
phone
conditionally required
string (30)
The customer's phone number. The parameter is required for non-residents of Belarus. The value must start with + and must not contain spaces.
first_name
conditionally required
string (100)
The customer's first name in latin letters. The parameter is required for non-residents of Belarus.
last_name
conditionally required
string (100)
The customer's last name in latin letters. The parameter is required for non-residents of Belarus.
middle_name
string (100)
The customer's middle name in latin letters.
first_name_ru
conditionally required
string (100)
The customer's first name in Cyrillic.
middle_name_ru
conditionally required
string (100)
The customer's middle name in Cyrillic.
last_name_ru
string (100)
The customer's last name in Cyrillic.

Request examples for authorization/payment

Info

Example for residents of Belarus
{
    "request": {
        "amount": 100,
        "currency": "BYN",
        "description": "Test transaction",
        "tracking_id": "your_unique_number",
        "language": "ru",
        "test": true,
        "credit_card": {
            "number": "4200000000000000",
            "verification_value": "123",
            "holder": "John Doe",
            "exp_month": "05",
            "exp_year": "2027"
        },
        "customer": {
            "external_id": "user-12345",
            "birth_date": "1990-01-01"
        },
        "additional_data": {
            "customer_id_data": {                           
                "personal_number": "30101990AB123CD4"
            }
        }
    }
}
Example for non-residents of Belarus
{
    "request": {
        "amount": 100,
        "currency": "BYN",
        "description": "Test transaction",
        "tracking_id": "your_unique_number",
        "language": "ru",
        "test": true,
        "credit_card": {
            "number": "4200000000000000",
            "verification_value": "123",
            "holder": "John Doe",
            "exp_month": "05",
            "exp_year": "2027"
        },
        "customer": {
            "external_id": "user-12345"
        },
        "additional_data": {
            "customer_id_data": {
                "document_type": "{Document type, passport}",
                "document_number": "{Document number, 1234567}",
                "document_country": "{Country that issued the document, GB}"
            },
            "kyc_answers": {
                "answers": {
                    "phone": "+375291234567",
                    "first_name": "Ivan",
                    "last_name": "Petrov",
                    "middle_name": "Ivanovich",
                    "first_name_ru": "Иван",
                    "last_name_ru": "Петров",
                    "middle_name_ru": "Иванович"                              
                }
            }
        }
    }
}

Response

The response will include vpd_verification object with the personal data verification results.

object
status
string
A transaction status.
code
string (6)
Transaction processing code.
message
string (255)
code description.
friendly_message
string
code description for the customer.
object
Parameters of the personal data verification service.
status
string
The status of the personal data verification.
Possible values: pending, verified, rejected.
code
string (6)
Error code of the personal data verification service.
message
string (255)
The error description corresponding to the vpd_verification.code.
friendly_message
string (255)
vpd_verification.code description for the customer.
provider_response
object
Additional information received by the personal data verification service from the card issuer.

Authorization

Successful verification
{
    "transaction": {
        "uid": "26d6f343-b36e-4306-b6a3-013e2b969ec2",
        "status": "successful",
        "amount": 100,
        "currency": "BYN",
        "description": "Test transaction",
        "type": "authorization",
        "payment_method_type": "credit_card",
        "tracking_id": "your_unique_number",
        "message": "Transaction is successful.",
        "test": true,
        "created_at": "2025-09-10T13:52:04.428Z",
        "updated_at": "2025-09-10T13:52:07.029Z",
        "paid_at": "2025-09-10T13:52:06.945Z",
        "expired_at": null,
        "recurring_type": null,
        "closed_at": null,
        "settled_at": null,
        "manually_corrected_at": null,
        "language": "en",
        "credit_card": {
            "holder": "John Doe",
            "stamp": "d1c853d9d6623ad497d6df0f90b92d19ae8393913b17198ac6006bdc2700485a",
            "brand": "visa",
            "last_4": "0000",
            "first_1": "4",
            "bin": "420000",
            "bin_8": "42000000",
            "issuer_country": "US",
            "issuer_name": "VISA Demo Bank",
            "product": "F",
            "exp_month": 5,
            "exp_year": 2027,
            "token_provider": null,
            "token": null
        },
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/26d6f343-b36e-4306-b6a3-013e2b969ec2/065724d397951ad8fcd066cdb7edd678b78f50fc8866c64cdb198993eb554dcb?language=en",
        "status_code": null,
        "gateway": {
            "iframe": true
        },
        "mute_notifications": null,
        "version": 4,
        "psp_settled_at": null,
        "registry_id": null,
        "three_ds_expired_at": null,
        "id": "26d6f343-b36e-4306-b6a3-013e2b969ec2",
        "additional_data": {
            "customer_id_data": {
                "document_type": "passport",                              
                "document_number": "1234567",
                "document_country": "GB"                              
            },
            "kyc_answers": {                             
                "answers": {                                  
                    "phone": "+375291234567",
                    "first_name": "Ivan",
                    "last_name": "Petrov",
                    "middle_name": "Sergeevich",
                    "first_name_ru": "Иван",
                    "last_name_ru": "Петров",
                    "middle_name_ru": "Сергеевич"
                }
            }
        },
        "redirect_url": "https://gateway.bepaid.by/process/26d6f343-b36e-4306-b6a3-013e2b969ec2",
        "code": "S.0000",
        "friendly_message": "The transaction is successfully processed.",
        "vpd_verification": {
            "status": "verified"
        },        
        "smart_routing_verification": {
            "status": "successful"
        },
        "payment": {
            "auth_code": "654321",
            "bank_code": "05",
            "rrn": "999",
            "ref_id": "777888",
            "message": "Payment was approved",
            "amount": 100,
            "currency": "BYN",
            "billing_descriptor": "test descriptor",
            "gateway_id": 2505,
            "status": "successful"
        },
        "avs_cvc_verification": {
            "avs_verification": {
                "result_code": "1"
            },
            "cvc_verification": {
                "result_code": "1"
            }
        },
        "customer": {
            "ip": null,
            "email": "ivan.petrov@example.com",
            "device_id": null,
            "birth_date": "1990-01-01",
            "external_id": "user-12345"
        },
        "billing_address": {
            "first_name": null,
            "last_name": null,
            "address": "1st Street",
            "country": "US",
            "city": "Denver",
            "zip": "96002",
            "state": "CO",
            "phone": null
        }
    }
}
Failed verification
{
    "uid": "ab8dd5da-3e28-4f28-8cf7-ac714f8fd2cb",
    "code": "F.0996",
    "friendly_message": "Транзакция не была подтверждена.",
    "message": "Транзакция не была подтверждена в VPD.",
    "status": "failed",
    "amount": 100,
    "currency": "USD",
    "description": "Test transaction",
    "type": "authorization",
    "payment_method": {
        "payment_method_type": "credit_card",
        "holder": "John Doe",
        "stamp": "d1c853d9d6623ad497d6df0f90b92d19ae8393913b17198ac6006bdc2700485a",
        "brand": "visa",
        "last_4": "0000",
        "first_1": "4",
        "bin": "420000",
        "bin_8": "42000000",
        "issuer_country": "US",
        "issuer_name": "VISA Demo Bank",
        "product": "F",
        "exp_month": 5,
        "exp_year": 2028,
        "token_provider": null,
        "token": null
    },
    "tracking_id": "your_unique_number",
    "test": true,
    "created_at": "2025-09-10T14:06:18.885Z",
    "updated_at": "2025-09-10T14:06:19.267Z",
    "paid_at": null,
    "expired_at": null,
    "recurring_type": null,
    "closed_at": null,
    "settled_at": null,
    "manually_corrected_at": null,
    "language": "en",
    "redirect_url": "https://gateway.bepaid.by/process/ab8dd5da-3e28-4f28-8cf7-ac714f8fd2cb",
    "status_code": null,
    "links": {
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/ab8dd5da-3e28-4f28-8cf7-ac714f8fd2cb/2b144de0d9ab776b9788b19192ead0548452ebdeb071a139a4532450fc637a0a?language=en"
    },
    "gateway": {
        "iframe": true
    },
    "mute_notifications": null,
    "version": 2,
    "psp_settled_at": null,
    "registry_id": null,
    "three_ds_expired_at": null,
    "customer": {
        "ip": "127.0.0.1",
        "email": "john@example.com",
        "device_id": null,
        "birth_date": null,
        "external_id": null,
        "first_name": "John",
        "last_name": "Doe",
        "address": "1st Street",
        "country": "US",
        "city": "Denver",
        "zip": "96002",
        "state": "CO",
        "phone": null
    },
        "vpd_verification": {
            "status": "rejected",
            "code": "F.0100",
            "message": "Customer verification failed.",
            "friendly_message": "Customer verification failed.",
            "provider_response": {
                "is_clientcard": 1,
                "is_bdcorrect": 0
        }
        },
        "smart_routing_verification": {
            "status": "successful"
        },
    "transaction": {
        "auth_code": null,
        "bank_code": null,
        "rrn": null,
        "ref_id": null,
        "message": null,
        "amount": 100,
        "currency": "USD",
        "billing_descriptor": null,
        "gateway_id": 2483,
        "status": "incomplete"
    }
}   

Payout

Request

Send a payout request with the following additional data:

object
conditionally required
object
A section of the customer details.
birth_date
conditionally required
string
The date of birth of the payout recipient in the ISO 8601 YYYY-MM-DD format. Required only for residents of Belarus.
object
Section of additional information about the payment.
object
Information about the customer's personal identity document.
document_type
conditionally required
string (50)
Type of the ID document. Required only for non-residents of Belarus.
document_series
string (20)
Series of the ID document. The parameter is not sent if the series is already included in the document_number parameter.
document_number
conditionally required
string (50)
Number of the ID document. Required only for non-residents of Belarus.
document_country
conditionally required
string (2)
Country that issued the ID document in ISO 3166-1 alpha-2 format. Required only for non-residents of Belarus.
personal_number
conditionally required
string (50)
Personal number specified in the ID document. Required only for residents of Belarus.
object
Section of the customer's KYC (Know Your Customer) data.
object
A section of the KYC data.
phone
conditionally required
string (30)
The customer's phone number. The parameter is required for non-residents of Belarus. The value must start with + and must not contain spaces.
first_name
conditionally required
string (100)
The customer's first name in latin letters. The parameter is required only for non-residents of Belarus.
last_name
conditionally required
string (100)
The customer's last name in latin letters. The parameter is required only for non-residents of Belarus.
middle_name
string (100)
The customer's middle name in latin letters.
first_name_ru
conditionally required
string (100)
The customer's first name in Cyrillic.
last_name_ru
conditionally required
string (100)
The customer's last name in Cyrillic.
middle_name_ru
string (100)
The customer's middle name in Cyrillic.

Example

Payout request example
{
    "request": {
        "amount": 100,
        "currency": "BYN",
        "description": "Test transaction",
        "tracking_id": "tracking_id_000",
        "recipient": {
            "birth_date": "1990-01-01",
            "phone": "+375291234567",
            "email": "ivan.petrov@example.com"
        },                    
        "recipient_billing_address": {
            "first_name": "John",
            "last_name": "Doe",
            "country": "US",
            "city": "Denver",
            "state": "CO",
            "zip": "96002",
            "address": "1st Street",
            "phone": "+375444444444"
        },
        "recipient_credit_card": {
            "number": "5555555555554444",
            "holder": "John Doe",
            "exp_month": "12",
            "exp_year": "2027"
        },
        "additional_data": {
            "customer_id_data": {
                "personal_number": "30101990AB123CD4"
            }
        }
    }
}
Payout request example
{
    "request": {
        "amount": 100,
        "currency": "BYN",
        "description": "Test transaction",
        "tracking_id": "tracking_id_000",
        "recipient": {                        
            "phone": "+375291234567",
            "email": "ivan.petrov@example.com"
        },                   
        "recipient_billing_address": {
            "first_name": "John",
            "last_name": "Doe",
            "country": "US",
            "city": "Denver",
            "state": "CO",
            "zip": "96002",
            "address": "1st Street",
            "phone": "+375444444444"
        },
        "recipient_credit_card": {
            "number": "5555555555554444",
            "holder": "John Doe",
            "exp_month": "12",
            "exp_year": "2027"
        },
        "additional_data": {
            "customer_id_data": {
                "document_type": "{Document type, passport}",
                "document_number": "{Document number, 1234567}",
                "document_country": "{Country that issued the document, GB}"
            },
            "kyc_answers": {
                "answers": {
                    "phone": "1234567890",
                    "first_name": "Ivan",
                    "last_name": "Petrov",
                    "middle_name": "Ivanovich",
                    "first_name_ru": "Иван",
                    "last_name_ru": "Петров",
                    "middle_name_ru": "Иванович"                        
                }
            }
        }
    }
}

Response

The response will include an additional object vpd_verification with the personal data verification results.

Successful verification
{
    "transaction": {
        "uid": "26d6f343-b36e-4306-b6a3-013e2b969ec2",
        "status": "successful",
        "amount": 100,
        "currency": "BYN",
        "description": "Test transaction",
        "type": "payout",
        "payment_method_type": "credit_card",
        "tracking_id": "your_unique_number",
        "message": "Transaction is successful.",
        "test": true,
        "created_at": "2025-09-10T13:52:04.428Z",
        "updated_at": "2025-09-10T13:52:07.029Z",
        "paid_at": "2025-09-10T13:52:06.945Z",
        "expired_at": null,
        "recurring_type": null,
        "closed_at": null,
        "settled_at": null,
        "manually_corrected_at": null,
        "language": "en",
        "credit_card": {
            "holder": "John Doe",
            "stamp": "d1c853d9d6623ad497d6df0f90b92d19ae8393913b17198ac6006bdc2700485a",
            "brand": "visa",
            "last_4": "0000",
            "first_1": "4",
            "bin": "420000",
            "bin_8": "42000000",
            "issuer_country": "US",
            "issuer_name": "VISA Demo Bank",
            "product": "F",
            "exp_month": 5,
            "exp_year": 2027,
            "token_provider": null,
            "token": null
        },
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/26d6f343-b36e-4306-b6a3-013e2b969ec2/065724d397951ad8fcd066cdb7edd678b78f50fc8866c64cdb198993eb554dcb?language=en",
        "status_code": null,
        "gateway": {
            "iframe": true
        },
        "mute_notifications": null,
        "version": 4,
        "psp_settled_at": null,
        "registry_id": null,
        "three_ds_expired_at": null,
        "id": "26d6f343-b36e-4306-b6a3-013e2b969ec2",
        "additional_data": {
            "customer_id_data": {
                "document_type": "passport",                              
                "document_number": "1234567",
                "document_country": "GB"                              
            },
            "kyc_answers": {                              
                "answers": {                                 
                    "phone": "1234567890",
                    "first_name": "Ivan",
                    "last_name": "Petrov",
                    "middle_name": "Sergeevich",
                    "first_name_ru": "Иван",
                    "last_name_ru": "Петров",
                    "middle_name_ru": "Сергеевич"                                  
                }
            }
        },
        "redirect_url": "https://gateway.bepaid.by/process/26d6f343-b36e-4306-b6a3-013e2b969ec2",
        "code": "S.0000",
        "friendly_message": "The transaction is successfully processed.",
        "vpd_verification": {
            "status": "verified"
        },        
        "smart_routing_verification": {
            "status": "successful"
        },
        "payment": {
            "auth_code": "654321",
            "bank_code": "05",
            "rrn": "999",
            "ref_id": "777888",
            "message": "Payment was approved",
            "amount": 100,
            "currency": "BYN",
            "billing_descriptor": "test descriptor",
            "gateway_id": 2505,
            "status": "successful"
        },
        "avs_cvc_verification": {
            "avs_verification": {
                "result_code": "1"
            },
            "cvc_verification": {
                "result_code": "1"
            }
        },
        "customer": {
            "ip": null,
            "email": "ivan.petrov@example.com",
            "device_id": null,
            "birth_date": "1990-01-01",
            "external_id": "user-12345"
        },
        "billing_address": {
            "first_name": null,
            "last_name": null,
            "address": "1st Street",
            "country": "US",
            "city": "Denver",
            "zip": "96002",
            "state": "CO",
            "phone": null
        }
    }
}

Possible values for the document_type parameter

document_type parameter value Description of the document_type parameter value
passport Passport
international_passport International passport
foreign_passport Foreign citizen’s passport
id_card Identity card (ID card)
driver_license Driver's license
residence_permit Residence permit for a foreign citizen (regular)
residence_permit_refugee Refugee residence permit. (regular)
residence_permit_bio_refugee Refugee residence permit (biometric).
residence_permit_bio_stateless Stateless person’s residence permit (biometric)
temporary_residence_permit Temporary residence permit
temporary_identity_card Temporary identity card
military_identity_card Military service ID card
military_id Military ID
refugee_certificate Refugee certificate
temporary_asylum_certificate Temporary asylum certificate
resettler_certificate Resettler certificate or applicant for status
travel_document_foreign Travel document of a foreign citizen
migration_card Migration card
seafarer_passport Seafarer’s passport / seafarer’s identity card
diplomatic_certificate Diplomatic identity card
return_certificate Return certificate
other Other identity document

Testing

To test the verification, send one of the requests on this page and add parameter request.test set to true. For successful verification, use the parameter values from the table below:

Parameter (in brackets – for payouts) Residents of Belarus Non-residents of Belarus
credit_card.number (recipient_credit_card.number) 9112395040140378 9112395040140378
credit_card.exp_month (recipient_credit_card.exp_month) any any
credit_card.exp_year (recipient_credit_card.exp_year) later than 2026 later than 2026
additional_data.customer_id_data.personal_number 3120590A001PB5 -
customer.birth_date (recipient.birth_date) 1990-01-01 -
additional_data.customer_id_data.document_number - AA1234567
additional_data.customer_id_data.document_type - passport
additional_data.customer_id_data.document_country - PL
additional_data.kyc_answers.answers.first_name - Ivan
additional_data.kyc_answers.answers.last_name - Ivanov

Request

Example

Payment request example
{
    "request": {
        "amount": "100",
        "currency": "BYN",
        "test": true,
        "description": "Test transaction",
        "language": "ru",
        "notification_url": "https://notification-url",
        "credit_card": {
            "number": "9112395040140378",
            "verification_value": "123",
            "holder": "John Doe",
            "exp_month": "05",
            "exp_year": "2026"
        },
        "customer": {
            "external_id": "user-12345",
            "birth_date": "1990-01-01"
        },
        "additional_data": {
            "customer_id_data": {
                "personal_number": "30101990AB123CD4"
            }
        }
    }
}
Payment request example
{
    "request": {
        "amount": "100",
        "currency": "BYN",
        "test": true,
        "description": "Test transaction",
        "language": "ru",
        "notification_url": "https://notification-url",
        "credit_card": {
            "number": "9112395040140378",
            "verification_value": "123",
            "holder": "John Doe",
            "exp_month": "05",
            "exp_year": "2026"
        },
        "customer": {
            "external_id": "user-12345"
        },
        "additional_data": {
            "customer_id_data": {
                "document_number": "AA1234567",
                "document_type": "passport",
                "document_country": "PL"
            },
            "kyc_answers": {
                "answers": {
                    "first_name": "Ivan",
                    "last_name": "Ivanov"
                }
            }
        }
    }
}

Response

If verification results in an error, processing code F.0996 will be sent in the transaction.code parameter and the parameter vpd_verification.code will include one of the validation errors by the personal data verification service.

1. Successful verification

Use the parameters from the table for the request.

Response fragment: successful verification
{
    "transaction": {
        "uid": "26d6f343-b36e-4306-b6a3-013e2b969ec2",
        "status": "successful",
        ...
        "message": "Transaction is successful.",
        "test": true,
        "code": "S.0000",
        "friendly_message": "The transaction is successfully processed.",
        "vpd_verification": {
            "status": "verified"
        },
        "smart_routing_verification": {
            "status": "successful"
        }
    }
}

2. Verification status rejected: the submitted customer data does not match the data in the issuer's system (for both strict and soft modes)

To get this result:

  • for residents of Belarus, send the birth_date value different from the one provided in the table;
  • for non-residents of Belarus, send the document_number value different from the one provided in the table.
Request fragment: wrong value of the birth_date parameter
{
  "request": {
    "credit_card": {
            "number": "9112395040140378"
            },
    "customer": {
      "birth_date": "1991-02-02"
    },
    "additional_data": {
      "customer_id_data": {
        "personal_number": "30101990AB123CD4"
      }
    }
  }
}
Response fragment: verification status is rejected, the submitted customer data does not match the data in the issuer's system
{
    "transaction": {
        "uid": "ab8dd5da-3e28-4f28-8cf7-ac714f8fd2cb",
        "code": "F.0996",
        "friendly_message": "The transaction was not verified.",
        "message": "The transaction was not verified by the verification service VPD.",
        "status": "failed",
        "vpd_verification": {
            "status": "rejected",
            "code": "F.0100",
            "message": "Customer verification failed.",
            "friendly_message": "Customer verification failed.",
            "provider_response": {
                "is_clientcard": 1,
                "is_bdcorrect": 0
            }
        }
    }
}

3. Parameters validation error (for both strict and soft modes)

To get the validation error:

  • for residents of Belarus, send the request without the required parameter personal_number;
  • for non-residents of Belarus, send the request without the required parameter document_country.
Request fragment: the required parameter personal_number is not specified
{
  "request": {
    "credit_card": {
            "number": "9112380131987184"
            },
    "customer": {
      "birth_date": "1991-01-01"
    },
    "additional_data": {
      "customer_id_data": {
        "personal_number": ""
      }
    }
  }
}
Response fragment: verification status is rejected, one of the required parameters is missing
{
    "uid": "b3c81448-91ef-4d72-af47-c923f796a2fb",
    "code": "F.0996",
    "friendly_message": "Транзакция не была подтверждена сервисом верификации VPD.",
    "status": "failed",
    ...
    "message": "Транзакция не была подтверждена.",
    ...
    "vpd_verification": {
        "status": "rejected",
        "code": "F.0102",
        "message": "Invalid request parameters. Check the transaction parameters or contact the payment service provider for details.",
        "friendly_message": "Invalid request parameters. Contact the merchant for details.",
        "provider_response": {
            "is_clientcard": 1,
            "is_bdcorrect": 0
        },
        "service_code": "vpd_rejected"
    },
    ...
}

4. rejected verification status: the personal data verification service (VPD) was not defined for the submitted card BIN (strict mode)

To reproduce this error, use the number of any card issued in Belarus, except for 9112395040140378. For example, 9112380131987184.

Request fragment: wrong card number
{
    "request": {
        "amount": "100",
        "currency": "BYN",
        "test": true,
        "description": "Test transaction",
        "language": "ru",
        "notification_url": "https://notification-url",
        "credit_card": {
            "number": "9112380131987184",
            "verification_value": "123",
            "holder": "John Doe",
            "exp_month": "05",
            "exp_year": "2026"
        },
        "customer": {
            "external_id": "user-12345",
            "birth_date": "1990-01-01"
        },
        "additional_data": {
            "customer_id_data": {
                "personal_number": "30101990AB123CD4"
            }
        }
    }
}
Response fragment: verification status is rejected, the personal data verification service (VPD) was not defined for the submitted card BIN
{
    "transaction": {
        "uid": "ab8dd5da-3e28-4f28-8cf7-ac714f8fd2cb",
        "code": "F.0996",
        "friendly_message": "The transaction was not verified.",
        "message": "The transaction was not verified by the verification service VPD.",
        "status": "failed",
        "vpd_verification": {
            "status": "rejected",
            "code": "F.0101",
            "message": "Customer verification failed. The verification service VPD for transmitted data is not defined.",
            "friendly_message": "Customer verification failed."
        }
    }
} 

5. successful transaction status and skipped verification status (soft mode)

To reproduce this error, use the number of any card issued in Belarus, except for 9112395040140378. For example, 9112380131987184. Also soft mode of verification service must be set up for the shop.

Request example for receiving S.0001 verification error
{
    "request": {
        "amount": 100,
        "description": "description",
        "currency": "BYN",
        "test": true,
        "credit_card": {
            "number": "9112380131987184",
            "exp_month": "03",
            "exp_year": "2027"
        },
        "customer": {
            "birth_date": "1991-01-01"
        },
        "additional_data": {
            "customer_id_data": {
                "personal_number": ""
            }
        }
    }
}
Response example with S.0001 verification code, the personal data verification service (VPD) was not defined for the submitted card BIN, soft mode of verification service is set up for the shop
{
    "transaction": {
        "uid": "8644fe00-35f0-4e35-a148-5d8405e722d6",
        "status": "successful",
        "amount": 100,
        "currency": "BYN",
        "description": "description",
        "type": "payment",
        "payment_method_type": "credit_card",
        "tracking_id": null,
        "message": "Transaction is successful.",
        "test": true,
        "created_at": "2026-01-21T14:11:38.309Z",
        "updated_at": "2026-01-21T14:11:40.879Z",
        "paid_at": "2026-01-21T14:11:40.815Z",
        "expired_at": null,
        "recurring_type": "d_moto",
        "closed_at": null,
        "settled_at": null,
        "manually_corrected_at": null,
        "language": "en",
        "credit_card": {
            "holder": null,
            "stamp": "a34d9860a75986a749b685d8c91f0697d0699fd9d4c7afaaf265c9846ff6ad27",
            "brand": "belkart",
            "last_4": "7184",
            "first_1": "9",
            "bin": "911238",
            "bin_8": "91123801",
            "issuer_country": "BY",
            "issuer_name": "BELARUSBANK",
            "product": "BELKART",
            "exp_month": 3,
            "exp_year": 2027,
            "token_provider": null,
            "token": null
        },
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/8644fe00-35f0-4e35-a148-5d8405e722d6/2cccbd19079bd02335e03c87c6b6bd20a53a8069cbae3d37e790593a49d6de34?language=en",
        "status_code": null,
        "gateway": {
            "iframe": true
        },
        "mute_notifications": null,
        "version": 3,
        "psp_settled_at": null,
        "registry_id": null,
        "three_ds_expired_at": null,
        "id": "8644fe00-35f0-4e35-a148-5d8405e722d6",
        "additional_data": {
            "customer_id_data": {
                "personal_number": ""
            }
        },
        "vpd_verification": {
            "status": "skipped",
            "code": "S.0001",
            "message": "Customer verification skipped: verification service provider was not found.",
            "friendly_message": "Customer verification skipped: verification service provider was not found."
        },
        "redirect_url": "https://gateway.bepaid.by/process/8644fe00-35f0-4e35-a148-5d8405e722d6",
        "code": "S.0000",
        "friendly_message": "The transaction is successfully processed.",        
        "payment": {
            "auth_code": "654321",
            "bank_code": "05",
            "rrn": "999",
            "ref_id": "777888",
            "message": "Payment was approved",
            "amount": 100,
            "currency": "BYN",
            "billing_descriptor": "TEST GATEWAY BILLING DESCRIPTOR",
            "gateway_id": 3549,
            "status": "successful"
        },
        "avs_cvc_verification": {
            "avs_verification": {
                "result_code": "1"
            },
            "cvc_verification": {
                "result_code": "1"
            }
        },
        "customer": {
            "ip": null,
            "email": null,
            "device_id": null,
            "birth_date": "1991-01-01",
            "external_id": null
        },
        "billing_address": {
            "first_name": null,
            "last_name": null,
            "middle_name": null,
            "address": null,
            "country": null,
            "city": null,
            "zip": null,
            "state": null,
            "phone": null
        }
    }
} 

ERIP payments

Merchants in the gambling industry are now required to provide additional customer information during ERIP payments.

For residents of Belarus, the following parameters must be sent:

  • Country that issued the customer's personal identification document: additional_data.customer_id_data.document_country.
  • Identification number specified in the ID document: additional_data.customer_id_data.personal_number.

Request examples for residents of Belarus:

Payment token request example
{
  "checkout": {
    "test": true,
    "transaction_type": "payment",
    "settings": {
      "return_url": "http://127.0.0.1:4567/return",
      "success_url": "http://127.0.0.1:4567/success",
      "notification_url": "http://your_shop.com/notification"
    },
    "order": {
      "tracking_id": "your_unique_number",
      "currency": "BYN",
      "amount": 10000,
      "expired_at": "2025-11-29T05:33:38Z",
      "description": "description",
      "additional_data": {
        "customer_id_data": {
          "document_country": "BY",
          "personal_number": "0000000A000PB0"            
        }                    
      }
    }
  }
}
ERIP payment request example
{
  "request": {
    "amount": 1000,
    "currency": "BYN",
    "description": "Payment for Order#123",
    "email": "ivanpetrov@example.com",
    "ip": "127.0.0.1",
    "order_id": 123456789012,
    "tracking_id": "AB8923",
    "notification_url": "http://merchant.example.com",
    "customer": {
      "first_name": "Ivan",
      "middle_name": "Ivanovich",
      "last_name": "Petrov"
    },
    "payment_method": {
      "type": "erip",
      "account_number": "123",
      "service_no": "99999999"
    },
    "additional_data": {
      "customer_id_data": {
        "document_country": "BY",
        "personal_number": "0000000A000PB0"
      }
    }
  }
} 

For non-residents of Belarus, the following parameters must be sent:

  • Country that issued the customer's personal identification document: additional_data.customer_id_data.document_country.
  • The customer's date of birth: customer.birth_date.

Request examples for non-residents of Belarus:

Payment token request example
{
  "checkout": {
    "test": true,
    "transaction_type": "payment",
    "settings": {
      "return_url": "http://127.0.0.1:4567/return",
      "success_url": "http://127.0.0.1:4567/success",
      "notification_url": "http://your_shop.com/notification"
    },
    "order": {
      "tracking_id": "your_unique_number",
      "currency": "BYN",
      "amount": 10000,
      "expired_at": "2025-11-29T05:33:38Z",
      "description": "description",
      "additional_data": {
        "customer_id_data": {
          "document_country": "RU"     
        }                    
      }
    },
    "customer": {
      "birth_date": "1990-01-01"
    }
  }
}
ERIP payment request example
{
  "request": {
    "amount": 1000,
    "currency": "BYN",
    "description": "Payment for Order#123",
    "email": "ivanpetrov@example.com",
    "ip": "127.0.0.1",
    "order_id": 123456789012,
    "tracking_id": "AB8923",
    "notification_url": "http://merchant.example.com",
    "customer": {
      "first_name": "Ivan",
      "middle_name": "Ivanovich",
      "last_name": "Petrov",
      "birth_date": "1990-01-01"
    },
    "payment_method": {
      "type": "erip",
      "account_number": "123",
      "service_no": "99999999"
    },
    "additional_data": {
      "customer_id_data": {
        "document_country": "RU"
      }
    }
  }
}