Перейти к содержанию

Viet QR

Плательщик во Вьетнаме оплачивает по QR-коду VietQR из приложения своего вьетнамского банка: сканирует код, и приложение открывает перевод с уже заполненными суммой и счётом. Заявка устроена так же, как приём по СБП: тот же метод API, те же статусы, callback-и и правила повторов. Отличаются payment_method и то, что выдаётся вместо номера телефона.

СБП Viet QR
payment_method sbp viet_qr
Страна и валюта заявки RU, RUB RU, RUB
Что получает плательщик номер телефона в requisite QR-код: строка VietQR в requisite и картинка по qrcode_link
Как платит плательщик «Перевод по СБП» по номеру телефона сканирует QR в приложении вьетнамского банка и платит донгами

Создать заявку

POST /api/v1/payments с payment_method: "viet_qr". Сумма amount — в рублях, как у остальных российских заявок; geo_code и currency можно не передавать (по умолчанию RU, RUB). Запрос подписывается так же, как для СБП.

{
  "merchant_payment_id": "order-1004",
  "amount": "5919.00",
  "payment_method": "viet_qr"
}

Все поля и правила — в разделе Приём по СБП → Поля запроса, допустимые методы и суммы — в Лимитах договора. Метод должен быть в договоре вашего проекта.

Ответ

Вместо номера телефона в ответе — QR-код:

  • requisite — строка VietQR (000201…): по ней можно нарисовать QR-код самостоятельно. Сумма в донгах уже записана внутри строки;
  • qrcode_link — ссылка https на готовую картинку этого QR-кода;
  • requisite_bank — вьетнамский банк получателя, holder_name — получатель.
{
  "id": "7c1f2e3d-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
  "merchant_payment_id": "order-1004",
  "status": "processing",
  "amount": 5919,
  "initial_amount": 5919,
  "currency": "RUB",
  "geo_code": "RU",
  "payment_method": "viet_qr",
  "requisite": "00020101021238600010A000000727013000069704360116QRS1072662728020208QRIBFTTA5303704540718467285802VN6304F15D",
  "qrcode_link": "https://api.qrserver.com/v1/create-qr-code/?size=450x450&margin=15&format=svg&data=00020101021238600010A000000727013000069704360116QRS1072662728020208QRIBFTTA5303704540718467285802VN6304F15D",
  "requisite_bank": "Vietcombank",
  "holder_name": "NGUYEN VAN A",
  "created_at": "2026-10-26T10:28:37Z",
  "updated_at": "2026-10-26T10:28:38Z"
}

Остальные поля ответа и расчёт merchant_information — как у СБП: Ответ и Расчёт merchant_information.

Что показать плательщику

  • QR-код — картинка по qrcode_link или код, нарисованный по строке requisite. Плательщик сканирует его приложением своего банка.
  • Сумма — плательщик платит в донгах: сумма уже в QR-коде, в приложении банка он увидит её сам. amount заявки — в рублях, его плательщику показывать не нужно.
  • Получатель — requisite_bank и holder_name, чтобы плательщик сверил их в приложении.
  • Срок — обратный отсчёт от created_at на срок заявки вашего проекта.

QR-код — только для этой заявки

Не сохраняйте и не показывайте QR повторно. Для новой оплаты создайте новую заявку.

Статусы и результат

Статусы, callback-и и опрос — такие же, как у СБП: Статусы и Как узнать результат.

Крайние случаи

Всё из раздела Приём по СБП → Крайние случаи верно и для Viet QR. Отдельно: если в ответе нет ни строки VietQR в requisite, ни qrcode_link, реквизиты не выданы — заявка закроется ошибкой, как у СБП без номера телефона.