| Название | Значение | Описание |
|---|---|---|
id | Идентификатор оплаты внутри Универсального интегратора | |
efts | 2 | Тип QR-оплаты |
| Название очереди |
| Название | Значение | Описание |
|---|---|---|
| handler | Идентификатор оплаты внутри Универсального интегратора | |
| StoreID | Идентификатор магазина в торговой системе | |
| merchant | Идентификатор конфигурации из merchants |
| Название | Значение | Описание |
|---|---|---|
| handler | Идентификатор оплаты внутри Универсального интегратора | |
| id | Идентификатор конфигурации | |
| value | qrpay_url – адрес сервиса "SmartPay" qrpay_iv – вектор инициализации для шифрования (значение должно быть "00000000") timeout – таймаут ожидания ответа от сервиса QR (в секундах; по умолчанию, 30) interval – период повторения запроса на отмену в случае сетевой ошибки (в секундах; по умолчанию, 5) cancel_lifetime – время существования запроса на отмену в часах (по умолчанию, 0 – бесконечно) | Конфигурация в формате JSON |
| Название | Значение | Описание |
|---|---|---|
| handler | Идентификатор оплаты внутри Универсального интегратора | |
| TerminalID | Идентификатор терминала из запроса. Если запрос идет от УКМ 4, то соответствует cash_id – идентификатор кассы в торговой системе | |
| value | terminal_id – идентификатор терминала в системе сервиса "SmartPay" crypt_key – ключ шифрования | Конфигурация в формате JSON |
После заполнения данных в БД демона необходим перезапуск:
sudo systemctl stop qrpayd.service sudo systemctl start qrpayd.service |
|---|
RabbitMQ перезапускать не надо.
________________________________________________
Название очереди RabbitMQ – любое, заполняется в таблице handlers.
________________________________________________
Удобный просмотр поля id в transactions:
ALTER TABLE `transactions`
ADD COLUMN `RequetsID` char(38)
GENERATED ALWAYS AS (LOWER(CONCAT(
'{', HEX(LEFT(`id`, 4)), '-', HEX(MID(`id`, 5, 2)), '-', HEX(MID(`id`, 7, 2)), '-', HEX(MID(`id`, 9, 2)), '-', HEX(RIGHT(`id`, 6)), '}'
))) VIRTUAL AFTER `id`; |
1. В настройках магазина нужно указать путь для параметра RabbitMQ сервер как amqp://ukm:xxxxxx@192.168.25.xxx:

Измененные параметры магазина надо сохранить.
2. Необходимо создать сервер авторизации QR оплата:

Добавление сервера авторизации QR оплата происходит стандартным образом на странице Параметры магазина и настройка операций – Интеграция – Серверы авторизации (вкладка слева), закладка Оплаты:

В настройках требуется указать следующие обязательные для заполнения параметры:

Название – наименование сервера авторизации подставляется системой автоматически при его добавлении, однако его можно изменить вручную.
Таймаут ожидания ответа, сек – время ожидания ответа от сервера указывается вручную, в секундах. Минимальное значение (оно же – значение по умолчанию) составляет 310 секунд. Так как касса является конечным звеном в цепочке узлов, участвующих в процессе проведения транзакции оплаты, значение данного таймаута ожидания должно быть строго больше, чем значение таймаута ожидания ответа от процессинга системы "SmartPay".
Таймаут соединения, сек – общая продолжительность соединения с сервером Универсального интегратора (указывается вручную, в секундах).
Настройки нужно сохранить.
3. Затем надо создать вид оплаты QR оплата:

Вид оплаты для сервера авторизации QR оплата создается стандартным образом.
В поле Модуль оплаты следует указать название очереди из поля queue таблицы handlers интегратора. Данное название может быть произвольным; главное, чтобы в типе QR-оплаты на сервере УКМ 4 было указано такое же название в поле Модуль оплаты. Ниже приведен пример совпадения названия для сервиса оплаты Яндекс:


Также нужно включить чек-бокс Сканировать QR-код покупателя:

Настройки необходимо сохранить.
RabbitMQ – Работа с сервером RabbitMQ.
QR_PAYMENT – Средство оплаты QR оплата.
Не поддержаны кассовые операции "QR-оплата получение итогов за смену" и "QR-оплата запрос карты лояльности".