Создание платежа через терминал или внешнюю платёжную систему.
Входные параметры
| Название | Тип данных | Обязательность | Описание |
|---|---|---|---|
| payment_system_id | int64 | Обязательный | ID платёжной системы |
| amount | int64 | Обязательный | Сумма платежа в тийинах |
| token | string | Обязательный для PayMe GO, Click PASS, Uzum Pay, Anor Check и Paynet Pass | Токен/код приложения клиента, считанный кассиром |
| card_type | int32 | Обязательный при оплате через терминал (payment_system_id < 0) |
Тип карты: 1 - корпоративная, 2 - личная, 3 - социальная |
| description | string | Необязательный | Примечание к платежу |
Сценарии работы:
payment_system_id = -1 или -2: VCR отправляет сумму на банковский терминал.payment_system_id = 1, 2, 3, 4, 6: VCR проводит платёж по токену/коду приложения клиента.payment_system_id = 5: VCR создаёт QR-платёж UzQR. Поле token не передаётся. Если в VCR настроено QR-устройство, VCR попытается показать код покупателю автоматически. В ответе также будет qr_text для отображения во внешнем интерфейсе.Важно: при оплате через терминал или по токену приложение VCR может быть недоступно до получения ответа от устройства или платёжной системы. Рекомендуемый timeout запроса - 180 секунд.
Для UzQR Payment.Create создаёт QR-счёт и возвращает qr_text, а сама оплата подтверждается асинхронно в приложении покупателя. Если в VCR настроено QR-устройство, VCR попытается показать QR локально. Внешнее приложение должно периодически вызывать Payment.Get, пока статус платежа не станет 3 - оплачен. Вызов Payment.Get синхронизирует статус с платёжной системой и обновляет состояние настроенного QR-устройства VCR. После оплаты поле rrn содержит идентификатор оплаты UzQR. Затем локальный id платежа можно передать в Receipt.Sale в поле payments[].payment_id.
Пример запроса - оплата через терминал
{
"id": 1,
"method": "Payment.Create",
"auth": "a2Fzc2E6a2FzMTIzNDU2",
"params": {
"payment_system_id": -1,
"card_type": 2,
"amount": 90000,
"description": "Ingenico"
},
"jsonrpc": "2.0"
}
Пример запроса - оплата по токену клиента
{
"id": 1,
"method": "Payment.Create",
"auth": "a2Fzc2E6a2FzMTIzNDU2",
"params": {
"payment_system_id": 6,
"amount": 90000,
"token": "850308040359292957",
"description": "Paynet Pass"
},
"jsonrpc": "2.0"
}
Пример запроса - создание QR-платежа UzQR
{
"id": 1,
"method": "Payment.Create",
"auth": "a2Fzc2E6a2FzMTIzNDU2",
"params": {
"payment_system_id": 5,
"amount": 90000,
"description": "UzQR"
},
"jsonrpc": "2.0"
}
Выходные параметры
| Название | Тип данных | Описание |
|---|---|---|
| id | string | id платежа в VCR. Это значение используется в Receipt.Sale.payments[].payment_id |
| datetime | string | Время создания платежа |
| payment_system_id | int32 | ID платёжной системы |
| payment_id | string | id платежа во внешней платёжной системе. Для QR-платежа может появиться после успешной оплаты |
| status | int32 | Статус платежа в VCR |
| amount | int64 | Сумма платежа в тийинах |
| receipt_id | string | id чека в VCR. До закрытия чека значение пустое |
| phone | string | Телефон плательщика, если платёжная система вернула это значение |
| rrn | string | Идентификатор карточной оплаты, если доступен. Для UzQR после оплаты содержит идентификатор оплаты UzQR |
| slip | string | SLIP терминала, если вернул терминал |
| card_type_id | int32 | Тип карты: 0 - не задано, 1 - корпоративная, 2 - личная, 3 - социальная |
| card_number | string | Маскированный номер карты, если доступен |
| invoice_id | string | id QR-счёта, если используется QR-сценарий |
| qr_text | string | Текст/ссылка QR-кода, который нужно показать покупателю |
Пример ответа - оплата через терминал
{
"id": 1,
"ok": true,
"result": {
"id": "9a361fa4-b6f2-4fc3-b145-0628dfdb9714",
"datetime": "2026-06-16 17:50:00",
"payment_system_id": -1,
"payment_id": "",
"status": 3,
"amount": 90000,
"receipt_id": "",
"phone": "",
"rrn": "012345678901",
"slip": "SLIP",
"card_type_id": 2,
"card_number": "8600********1234"
},
"jsonrpc": "2.0"
}
Пример ответа - оплата по токену клиента
{
"id": 1,
"ok": true,
"result": {
"id": "840afab9-7968-4364-b411-dfee4d099ee5",
"datetime": "2026-06-16 17:50:00",
"payment_system_id": 6,
"payment_id": "1234567890",
"status": 3,
"amount": 90000,
"receipt_id": "",
"phone": "998901234567",
"rrn": "",
"slip": "",
"card_type_id": 2,
"card_number": "8600******8331"
},
"jsonrpc": "2.0"
}
Пример ответа - создан QR-платёж UzQR
{
"id": 1,
"ok": true,
"result": {
"id": "c01a8e04-81a7-4e38-a19a-7e2f77a6e2f4",
"datetime": "2026-06-16 17:50:00",
"payment_system_id": 5,
"payment_id": "",
"status": 2,
"amount": 90000,
"receipt_id": "",
"invoice_id": "UZQR-INVOICE-ID",
"qr_text": "https://example/qr"
},
"jsonrpc": "2.0"
}