Торговые операции с QR-кодом
С помощью методов TACAP API вы можете проводить торговые операции с QR-кодом:
- генерировать динамический код;
- получать статус операции;
- возвращать денежные средства;
- отменять операции вручную и автоматически.
Генерация QR-кода
Для инициации оплаты устройство отправляет запрос на генерацию QR-кода:
- Система формирует запрос сообщение
POST/sendдля метода Сгенерировать динамический код XML илиPOST/operations/qrpayдля метода Сгенерировать динамический код JSON c запросом на регистрацию платежа и отправляет его на хост. - Хост проводит обработку запроса, определяет вид QR-кода — например, СБП или TQR — и генерирует его. Вид генерируемого типа QR-кода зависит от данных устройства, которые были указаны при его регистрации или обновлении.
- Хост формирует и передает ответ устройству.
- Устройство на свой запрос получает ответ с QR-кодом в виде URL.
Запрос статуса платежной операции
После того, как QR-код успешно сгенерирован:
Устройство опрашивает хост о статусе платежа, формируя сообщение
POST/sendдля метода Получить статус операции XML илиPOST/operations/queryдля метода Получить статус операции JSON, пока не наступит одно из событий:- Платеж перейдет в терминальный статус —
PAID,FAIL,REFUNDED,PARTIAL_REFUNDED,CANCELилиEXPIRED. - Опрос завершится по таймауту. Периодичность и продолжительность опроса зависят от настроек устройства, которые заданы при его конфигурировании.
- Платеж перейдет в терминальный статус —
Хост получает статус сессии и формирует ответ устройству.
Устройство обрабатывает ответ с результатом проведения операции.
Отмена платежа по QR
Клиентская система может инициировать отмену операции:
- Устройство формирует сообщение c запросом на отмену —
POST/operations/cancelдля метода Отменить операцию JSON илиPOST/sendдля метода Отменить операцию XML — и отправляет его на хост. - Хост получает сообщение от устройства, проводит нужные проверки и возвращает ответ в зависимости от статуса сессии (платежа). Если:
- Статус соответствует успешно проведенной оплате — в зависимости от настроек хоста, возвращается ответ с кодом
FAILили инициируется операция возврата, и на устройство возвращается ответ с результатом операции. - Статус соответствует процессу проведения платежа — в зависимости от настроек хоста, возвращается ответ с кодом
FAILилиUSINGPAY. - Статус соответствует моменту, когда процесс остановился на сформированном QR-коде, попыток проведения платежа не было — инициируется отмена QR-кода и формируется ответ устройству о результате отмены.
- Статус соответствует успешно проведенной оплате — в зависимости от настроек хоста, возвращается ответ с кодом
- Устройство обрабатывает ответ от хоста, одна из возможных интерпретаций кода в ответе:
- Операция прервана — для
SUCCESSи когда попыток проведения платежа не было. - Повторите запрос позже — для
FAIL.
- Операция прервана — для
Возврат платежа по QR
После того, как клиентская система инициировала возврат платежа TQR/СБП:
- Устройство формирует сообщение c запросом на возврат —
POST/operations/refundдля метода Вернуть денежные средства JSON илиPOST/sendдля метода Вернуть денежные средства XML — и отправляет его на хост. - Хост проводит нужные проверки и при успешном прохождении проводит возврат.
- Хост передает ответ на устройство.
- Устройство обрабатывает ответ.
Автоотмена платежа по QR
Если выполняется одно из правил генерации автоотмен, устройство инициирует отмену платежа, совершаемого на этом же устройстве:
- Устройство формирует сообщение c запросом на отмену —
POST/operations/auto_cancelдля метода Автоматическая отмена JSON илиPOST/sendдля метода Автоматическая отмена XML — и отправляет его на хост. - Хост получает сообщение с устройства, проводит нужные проверки и возвращает ответ в зависимости от статуса сессии (платежа). Если:
- Статус соответствует успешно проведенной оплате — в зависимости от настроек хоста, возвращается ответ с кодом
FAILили инициируется операция возврата, и на устройство возвращается ответ с результатом операции. - Статус соответствует процессу проведения платежа — в зависимости от настроек хоста, возвращается ответ с кодом
SUCCESS,FAILилиUSINGPAY. - Статус соответствует моменту, когда процесс остановился на сформированном QR-коде, попыток проведения платежа не было — инициируется отмена QR-кода и формируется ответ устройству о результате отмены.
- Статус соответствует успешно проведенной оплате — в зависимости от настроек хоста, возвращается ответ с кодом
- Устройство обрабатывает ответ от хоста, одна из возможных интерпретаций кода в ответе:
- Операция прервана — для
SUCCESSи когда попыток проведения платежа не было. - Повторите запрос позже — для
FAIL.
- Операция прервана — для