| Оглавление |
|---|
Настройки Универсального интегратора
Описание таблиц
- handlers – таблица для подключения QR-оплат
- merchants – таблица для мерчантов в формате JSON
- stores – таблица конфигураций для магазинов
- terminals – таблица конфигураций для терминалов (касс) формате JSON
- transactions – журнал транзакций
Структура таблиц
В таблице handlers находится соответствие между названием очереди, типом QR-оплаты и идентификатором оплаты в Универсальном интеграторе:Якорь hand hand
...
| Название | Значение | Описание |
|---|---|---|
| handler | Идентификатор оплаты внутри Универсального интегратора | |
| id | Идентификатор конфигурации | |
| value | qrpay_url – адрес сервиса QRPayсервиса "SmartPay" qrpay_iv – вектор инициализации для шифрования (значение должно быть "00000000", сделали настройкой на всякий случай}) timeout – таймаут ожидания ответа от сервиса QR (в секундах(; по умолчанию, 30) interval – период повторения запроса на отмену в случае сетевой ошибки (в секундах(; по умолчанию, 5) cancel_lifetime – время существования запроса на отмену в часах (по умолчанию, 0 – бесконечно) | Конфигурация в формате jsonJSON |
- В таблице terminals находятся настройки терминалов в формате JSON:
| Название | Значение | Описание |
|---|---|---|
| handler | Идентификатор оплаты внутри Универсального интегратора | |
| TerminalID | Идентификатор терминала из запроса. Если запрос идет от УКМ 4, то соответствует cash_id – идентификатор кассы в торговой системе | |
| value | terminal_id – – идентификатор терминала в системе сервиса QRPay"SmartPay" crypt_key – ключ шифрования | Конфигурация в формате JSON |
...
http://bitbucket.servplus.ru:7990/projects/UKM4/repos/ukm/browse/integrator/database
Дополнительная информация
После заполнения данных в БД демона необходим перезапуск
...
:
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`; |
Настройки авторизации на кассовом сервере УКМ 4
Настройка оплаты на сервере УКМ 4
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-оплата запрос карты лояльности".







