Настройки Универсального интегратора

Описание таблиц

Структура таблиц

НазваниеЗначениеОписание

id


Идентификатор оплаты внутри Универсального интегратора

efts

2Тип QR-оплаты

queue


Название очереди
НазваниеЗначениеОписание
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`;

Настройки авторизации на кассовом сервере УКМ 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-оплата запрос карты лояльности".