ПОДКЛЮЧАЕТСЯ ПО ЗАПРОСУ
Оплата по QR-коду (UZS)¶
Метод QR принимает сумы по единому QR-коду Узбекистана (UzQR). Для мерчанта это
обычная заявка в UZS: сумма, курс и расчёты с EasyTokenPay те же, что у карточного
метода C2C. Отличие в том, что клиент получает не номер карты, а QR-код: он
сканирует его в приложении своего банка, вводит сумму заявки и подтверждает оплату.
Доступность метода
Метод подключается по запросу. Проверяйте /currencies/?operation=order: у UZS в
payment_methods должен быть QR. Метода нет в списке — запрос с ним отклоняется
ответом 400. Метод есть, но свободного QR-реквизита сейчас нет — заявка получит
404, как при отсутствии реквизита.
Как проходит платёж¶
- Мерчант создаёт заявку в UZS с
requisite_type=QR. - Платформа выдаёт QR-код трейдера: изображение и его содержимое строкой.
- Мерчант показывает клиенту QR-код и сумму заявки. Сумму клиент вводит сам, поэтому покажите её крупно с пометкой «введите ровно эту сумму».
- Клиент сканирует код в приложении любого банка или платёжного сервиса Узбекистана, вводит сумму и платит.
- Платформа получает уведомление банка о зачислении и подтверждает заявку
автоматически — статус
AUTO_APPROVED, приходит callback. - Если клиент ввёл другую сумму, решение по заявке принимает трейдер вручную; итог приходит обычным статусом заявки и callback.
Создать заявку¶
POST /api/v1/merchant/create_order/?type=api
Authorization: Bearer <access_token>
Content-Type: application/json
{
"merchant_order_id": "payment-20261015-001",
"merchant_client_id": "client-1042",
"currency_code_from": "USDT",
"currency_code_to": "UZS",
"expected_income": "150000",
"requisite_type": "QR"
}
Поля те же, что у обычной заявки. В ответе вместо номера карты приходит QR-код:
{
"id": "71f25851-28d3-47eb-8770-51f717f5821e",
"status": "BRAND_NEW",
"merchant_order_id": "payment-20261015-001",
"currency_code_from": "USDT",
"currency_code_to": "UZS",
"expected_income": "150000.000000",
"requisite": {
"account_number": null,
"phone_number": null,
"fio": "YATT SHUKUROVA NILUFAR",
"bank": {"name": "HamkorBank"},
"payment_type": ["QR"],
"qr_image": "https://easytokenpay.com/media/requisites/qr/8f1c....png",
"qr_payload": "00020101021140610012qr-online.uz0118...630445EB"
},
"course": 12485.0075,
"external_course": 12485.0075
}
| Поле | Значение |
|---|---|
requisite.qr_image |
Ссылка на изображение QR-кода. Показывайте его клиенту как есть, без пересборки. Ссылка действует всё время жизни заявки |
requisite.qr_payload |
Содержимое QR-кода строкой (стандарт EMVCo). Если вы рисуете QR на своей стороне, кодируйте эту строку без изменений |
requisite.fio |
Имя получателя, как оно зашито в код. Клиент увидит его в приложении банка при оплате |
requisite.account_number |
Всегда null для QR |
course |
Ваш курс UZS за 1 USDT с учётом комиссии, как у C2C |
Статус, отмена, список заявок, споры и callback работают так же, как для карточных заявок. В уведомлениях банка нет номера карты плательщика, поэтому для спора приложите квитанцию из приложения клиента: в ней видны имя получателя из кода и сумма.
Что показать клиенту¶
- QR-код (изображение из
qr_imageили код, собранный изqr_payload). - Сумму заявки в сумах, крупно, с пометкой «введите ровно эту сумму».
- Имя получателя из
fio, чтобы клиент сверил его в приложении банка. - Время на оплату: 15 минут, как у карточных заявок.