Payments With Data Entry
A payment page where the customer enters the payment details themselves: amount, full name, and contract number. The data is used to build the payment purpose and is passed in extra_data.
URL
Method: GET
- Production:
https://pay.kvell.group/pre-checkout/customer - Stage:
https://pay.stage.kvell.group/pre-checkout/customer
Request parameters
Name |
Required | Description |
|---|---|---|
api_key |
Yes | Unique shop identifier |
success_url |
Yes | URL to redirect to on successful completion of the request |
fail_url |
Yes | URL to redirect to on failed completion of the request |
Form fields
The form consists of three sequential steps.
Step 1. Payer
| Field | Description |
|---|---|
| Last name | Payer's last name |
| First name | Payer's first name |
| Patronymic | Payer's patronymic (optional) |
Step 2. Client
| Field | Description |
|---|---|
| Last name | Client's last name |
| First name | Client's first name |
| Patronymic | Client's patronymic (optional) |
Step 3. Contract
| Field | Description |
|---|---|
| Contract number | Contract number |
| Contract date | Contract date in dd.mm.yyyy format |
| Amount to pay, RUB | Payment amount in rubles |
| Payer's email address (optional) |
Building the payment data
After the form is filled in, the page automatically builds and passes to the payment page:
description— a string joining the payer's full name, the client's full name, and the contract number and date with,extra_data— a JSON object with separate fields:
{
"payer_last_name": "Ivanov",
"payer_first_name": "Ivan",
"payer_patronymic": "Ivanovich",
"client_last_name": "Petrov",
"client_first_name": "Petr",
"client_patronymic": "Petrovich",
"contract_number": "12345",
"contract_date": "01.01.2026",
"email": "client@example.com"
}