Протокол приема платежей для магазинов

Оплата по QR-коду

Это еще один сценарий оплаты через Яндекс.Кассу. Он позволяет магазину генерировать QR-коды, которые ведут на форму оплаты. QR-коды можно размещать в интернете и на любых поверхностях: на чеках, квитанциях и подобных. Чтобы организовать оплату по коду, магазину необходимо сформировать платежную ссылку, а потом сгенерировать QR-код, который будет на нее вести.

Схема взаимодействия

  1. Магазин генерирует QR-код для оплаты конкретного заказа и показывает пользователю (в интернете или в офлайне).
  2. Пользователь сканирует QR-код в любом приложении на своем смартфоне и попадает на платежную форму для оплаты этого заказа.
  3. Оплачивает заказ как обычно.
  4. Магазину приходит уведомление об оплате, как в стандартном сценарии.

Формирование платежной ссылки

Формат ссылки
https://money.yandex.ru/eshop.xml?shopId=<shopId>&scid=<scid>&sum=<sum>&orderNumber=<orderNumber>&customerNumber=<customerNumber>&custom_field=qrpayment

В ссылку подставляются параметры из платежной формы для конкретного магазина, заказа и плательщика. Подробное описание параметров

Если не указывать способ оплаты, пользователь увидит все способы, доступные этому магазину.

В параметре custom_field указывается фиксированное значение qrpayment.

Пример ссылки
https://money.yandex.ru/eshop.xml?shopId=15203&scid=6908&sum=3.50&orderNumber=1380_2d3&customerNumber=4QRTests&paymentType=AC&custom_field=qrpayment

Генерация QR-кода

Адрес для отправки запроса

Яндекс.Деньги проверяют, что scid, указанный в адресе запроса, существует, и платежная форма работает.

https://money.yandex.ru/api/showcase/<scid витрины>/qrCode
Формат запроса

Для генерации QR-кода нужно на этот адрес отправить POST или GET-запрос c параметрами платежной ссылки. Подробное описание параметров

Формат ответа

В ответе приходит QR-код в формате .svg. Его можно сохранить и показать пользователю или распечатать.

При считывании QR-кода открывается платежная ссылка с параметрами, которые были переданы запросе.

Если scid, указанный в адресе, не существует, платежный сервис вернет 400 Bad Request.

Пример запроса
https://money.yandex.ru/api/showcase/6908/qrCode?scid=6908&shopId=15203&sum=1500&orderNumber=1380_2d3&paymentType=AC

Смотрите также

Платежная форма

Общее описание взаимодействия

Обработка HTTP-нотификаций