16.06.2026 17:50

Payment.Create

Создание платежа через терминал или внешнюю платёжную систему.

Входные параметры

Название Тип данных Обязательность Описание
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"
}