Генерация динамического кода
https://qrpay-secured.tbank.ru/qrpay/external/aggregators/api/v1/operations/QRPAY
Метод для создания динамического QR-кода для последующего отображения на терминале.
Схема работы метода
На POS-терминале инициируется операция генерации QR-кода для оплаты:
-
POS формирует сообщение
POST/operations/qrpay
c запросом на регистрацию платежа и отправляет его на хост. -
Хост проводит обработку запроса, определяет вид QR-кода — например, СБП или TQR — и генерирует его. Вид генерируемого типа QR-кода зависит от данных терминала, которые были указаны при его регистрации или обновлении.
-
Хост формирует и передает ответ POS-терминалу.
-
POS-терминал получает ответ на запрос, генерирует графический код и выводит его на дисплее терминала или на чеке.
Запрос
Request body schema application/json
Required
agentId
String
Идентификатор агрегатора.
currency
String
Валюта.
Required
mchId
String
MID мерчанта.
Required
outTransactionNo
Number
Порядковый номер операции на POS-устройстве.
Required
signType
String
Requirements: [SOFTPOS_SHA256_HMAC
, HMAC_SHA256
]
Тип подписи.
Required
signature
String
Подпись запроса. Значение формируется по алгоритму в соответствии с выбранным sign_type
. Подпись в примере носит справочный характер и не рассчитывалась для этого запроса.
Required
terId
String
TID терминала.
Required
timeStart
String
Время формирования запроса
Required
totalAmount
String
Сумма платежа.
Required
tradeType
String
Requirements: [pay.paxpay.native
]
Тип операции.
Required
version
String
Requirements: [V1.0
]
Версия интерфейса.
terminalOperationId
String<uuid>
Идентификатор терминальной операции. Формируется при инициации платежной операции.
Ответ
Это полезный материал?
Сценарий использования
Генерация QR-кодаПример запроса
Payload
cURL
Go
Java
NodeJs
PHP
Python
Content type
application/json
{
"agentId":
"A12345678987",
"currency":
"RUB",
"mchId":
"000000000000001",
"outTransactionNo":
22210,
"signType":
"HMAC_SHA256",
"signature":
"b613679a0814d9ec772f95d778c35fc5ff1697c493715653c6c712144292c5ad",
"terId":
"40051625",
"timeStart":
"2021-07-22T17:30:28",
"totalAmount":
"10000.05",
"tradeType":
"pay.paxpay.native",
"version":
"V1.0",
"terminalOperationId":
"123e4567-e89b-12d3-a456-426655440000"
}
Пример ответа
Content type
application/json
{
"agentId":
"A12345678987",
"code":
"SUCCESS",
"msg": {
"signType":
"HMAC_SHA256",
"signature":
"b613679a0814d9ec772f95d778c35fc5ff1697c493715653c6c712144292c5ad",
"method":
"qrpay",
"mchId":
"000000000000001",
"terId":
"40051625",
"timeStart":
"2021-07-22T17:30:28",
"outTradeNo":
"551123123",
"currency":
"RUB",
"totalAmount":
"10000.05",
"tradeTime":
"2021-07-22T17:30:33",
"tradeType":
"pay.paxpay.native",
"transactionNo": {
"version":
"V1.0",
"codeUrl":
"https://qr.spb.ru/ax00856mbmgje4wiau38071",
"merchantName":
"IP AJRAPETYAN G S",
"merchantAddress":
"353911, Краснодарский край, г Новороссийск, ш Сухумское, 110"
}