generateQR - Формирование QR-кода СБП
Выполняется с помощью команды generateQR.
Данный запрос позволяет инициировать формирование QR-кода СБП. В ответе на этот метод будет содержаться прямая ссылка СБП для проведения оплаты Клиентом (используется автоматически при оплате с мобильного устройства), графическое представление сформированного QR-кода (для отображения на экране стационарного компьютера и сканирования из мобильного приложения банка-участника СБП для последующей оплаты) и идентификатор заказа в платежном шлюзе theMAP (mapOrderId), который может быть использован в дальнейшем для повторного получения всех данных по сформированному QR-коду методом GET getQRPayload.
Для осуществления оплаты по QR-коду СБП Пользователю необходимо иметь мобильное приложение банка-участника Системы Быстрых Платежей
Название |
Описание |
Формат |
SBP |
key |
Идентификатор Продавца. Выдается с параметрами тестового/боевого доступа |
Строка |
|
merchant_order_id |
Идентификатор платежа в системе Продавца |
Строка (максимум 50 символов) |
|
amount |
Сумма к оплате в минимальных единицах валюты (копейках) |
Целое число |
|
custom_params_rdy |
Список дополнительных параметров операции в формате "ключ - значение". При передаче в составе параметра ключа ips_description его значение будет отображено пользователю в приложении при оплате |
Объект формата {"param1":"test", "param2":"test"...} |
|
render_qr_img |
Флаг получения ссылки на графическое представление QR-кода в ответе |
true/false |
|
qr_type |
Тип формируемого QR-кода. Может быть статическим или динамическим |
Строка static / dynamic |
|
Пример запроса POST:
Content-Type: application/json
https:{domain}/generateQR
{
"key": "TestTerminal",
"amount": 1000,
"merchant_order_id":"TestOrder123",
"custom_params_rdy": {
"ips_description": "Оплата заказа"
},
"render_qr_img": true,
"qr_type": "dynamic"
}
Пример реализации запроса в программном коде:
curl -X POST \
https:{domain}/generateQR \
-H 'Content-Type: application/json' \
-d '{"key": "TestTerminal","amount": 1000,"custom_params_rdy": {"ips_description": "Оплата заказа"},"render_qr_img": true,"qr_type": "dynamic"}
'
Название |
Описание |
Формат |
SBP |
Success |
Флаг успешности операции |
true/false |
|
OrderId |
Идентификатор платежа в системе Продавца |
Соответствует переданному в запросе |
|
MapOrderID |
Идентификатор платежа в системе theMAP |
Строка |
1 |
Amount |
Сумма к списанию в минимальных единицах валюты (копейках) |
Соответствует переданному в запросе |
1 |
QRData |
Прямая НСПК ссылка на оплату |
строка вида: https:qr.nspk.ru/... |
1 |
QRImgRef |
Относительный путь к графическому представлению НСПК ссылки |
строка вида: /qr/1aAX3qVfgXwsUvXeNkcnRxVuMML |
1 |
ErrCode |
Описание ошибки |
см. коды ошибок |
2 |
ErrMessage |
Дополнительное описание ошибки |
Строка |
|
CustomParams |
Список дополнительных параметров операции |
Соответствует переданному в запросе |
|
TerminalID |
ID терминала в системе MAP, по которому фактически выполнена операция |
Число |
|
1 Передаётся, если в ответе Success=true
2 Передаётся, если в ответе Success=false
Пример ответа на успешный запрос:
{
"Success": true,
"OrderId": "TestOrder123214146411235674311",
"Amount": 100,
"ErrCode": "",
"MapOrderID": "2G241rRWEiaTiOmSnSjOpG15JZQ",
"QRData": "https:qr.nspk.ru/AD100044P3M5CGSR9M99V7J6HUKV6SO1?type=02&bank=100000000007&sum=100&cur=RUB&crc=9126",
"QRImgRef": "/qr/2G241rRWEiaTiOmSnSjOpG15JZQ"
}
Пример ответа на не успешный запрос:
{
"Success": false,
"OrderId": "TestOrder123",
"ErrCode": "DUPLICATE_ORDER_ID"
}
Для использования функционала фз-54 необходимо прописать дополнительные параметры в запрос.
Для тестирования оплаты СБП транзакций есть возможность использовать тестовый метод testQRPayment.