Перейти к основному содержимому

Торговые операции с QR-кодом

С помощью методов TACAP API вы можете проводить торговые операции с QR-кодом:

  • генерировать динамический код;
  • получать статус операции;
  • возвращать денежные средства;
  • отменять операции вручную и автоматически.

Методы в документации

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


На POS-терминале инициируется операция генерации QR-кода для оплаты:

  1. POS формирует сообщение POST/send для метода Сгенерировать динамический код XML или POST/operations/qrpay для метода Сгенерировать динамический код JSON c запросом на регистрацию платежа и отправляет его на хост.
  2. Хост проводит обработку запроса, определяет вид QR-кода — например, СБП или TQR — и генерирует его. Вид генерируемого типа QR-кода зависит от данных терминала, которые были указаны при его регистрации или обновлении.
  3. Хост формирует и передает ответ POS-терминалу.
  4. POS-терминал получает ответ на запрос, генерирует графический код и выводит его на дисплее терминала или на чеке.

Запрос статуса платежной операции


После того, как QR-код успешно сгенерирован:

  1. POS-терминал опрашивает хост о статусе платежа, формируя сообщение POST/send для метода Получить статус операции XML или POST/operations/query для метода Получить статус операции JSON, пока не наступит одно из событий:

    • Платеж перейдет в терминальный статус — PAID, FAIL, REFUNDED, PARTIAL_REFUNDED, CANCEL или EXPIRED.
    • Опрос завершится по таймауту. Периодичность и продолжительность опроса зависят от настроек POS-терминала, которые заданы при его конфигурировании.
  2. Хост получает статус сессии и формирует ответ терминалу.

  3. POS-терминал формирует и печатает чек с результатом проведения операции.

Отмена платежа по QR


После того, как кассир инициировал отмену платежа, совершаемого на этом же POS-терминале — например, нажал красную кнопку:

  1. POS-терминал формирует сообщение c запросом на отмену — POST/operations/cancel для метода Отменить операцию JSON или POST/send для метода Отменить операцию XML — и отправляет его на хост.
  2. Хост получает сообщение с POS-терминала, проводит нужные проверки и возвращает ответ в зависимости от статуса сессии (платежа). Если:
    • Статус соответствует успешно проведенной оплате — в зависимости от настроек хоста, возвращается ответ с кодом FAIL или инициируется операция возврата, и на POS-терминал возвращается ответ с результатом операции.
    • Статус соответствует процессу проведения платежа — в зависимости от настроек хоста, возвращается ответ с кодом FAIL или USINGPAY.
    • Статус соответствует моменту, когда процесс остановился на сформированном QR-коде, попыток проведения платежа не было — инициируется отмена QR-кода и формируется ответ POS-терминалу о результате отмены.
  3. Терминал печатает чек:
    • «Операция прервана» — для SUCCESS и когда попыток проведения платежа не было.
    • «Повторите запрос позже» — для FAIL.

Возврат платежа по QR


После того, как кассир инициировал возврат платежа TQR/СБП:

  1. POS-терминал формирует сообщение c запросом на возврат — POST/operations/refund для метода Вернуть денежные средства JSON или POST/send для метода Вернуть денежные средства XML — и отправляет его на хост.
  2. Хост проводит нужные проверки и при успешном прохождении проводит возврат.
  3. Хост передает ответ на POS-терминал.
  4. Терминал печатает чек.

Автоотмена платежа по QR


Если выполняется одно из правил генерации автоотмен, POS-терминал инициирует отмену платежа, совершаемого на этом же POS-терминале:

  1. POS-терминал формирует сообщение c запросом на отмену — POST/operations/auto_cancel для метода Автоматическая отмена JSON или POST/send для метода Автоматическая отмена XML — и отправляет его на хост.
  2. Хост получает сообщение с POS-терминала, проводит нужные проверки и возвращает ответ в зависимости от статуса сессии (платежа). Если:
    • Статус соответствует успешно проведенной оплате — в зависимости от настроек хоста, возвращается ответ с кодом FAIL или инициируется операция возврата, и на POS-терминал возвращается ответ с результатом операции.
    • Статус соответствует процессу проведения платежа — в зависимости от настроек хоста, возвращается ответ с кодом SUCCESS, FAIL или USINGPAY.
    • Статус соответствует моменту, когда процесс остановился на сформированном QR-коде, попыток проведения платежа не было — инициируется отмена QR-кода и формируется ответ POS-терминалу о результате отмены.
  3. Терминал печатает чек:
    • «Операция прервана» — для SUCCESS и когда попыток проведения платежа не было.
    • «Повторите запрос позже» — для FAIL.

openapi@tbank.ru

АО «ТБанк» использует файлы «cookie», с целью персонализации сервисов и повышения удобства пользования веб-сайтом. «Cookie» представляют собой небольшие файлы, содержащие информацию о предыдущих посещениях веб-сайта. Если вы не хотите использовать файлы «cookie», измените настройки браузера.