Описание

ПО банка "Хлынов" позволяет производить оплаты через Систему быстрых платежей как с помощью кассовой платежной ссылки (см. настройки ниже), так и по подписке

Общий алгоритм процесса оплаты при помощи кассовой платежной ссылки описан здесь.

Процесс проверки кассовой ссылки описан здесь.

Процесс привязки кассовой ссылки описан здесь.

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

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

  • qrbankhlynov_merchants – таблица для мерчантов в формате JSON
  • qrbankhlynov_stores – таблица конфигураций для магазинов
  • qrbankhlynov_terminals – таблица конфигураций для терминалов (касс) формате JSON
  • qrbankhlynov_transactions – журнал транзакций

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

  • В таблице qrbankhlynov_stores находится связка между идентификатором магазина из запроса и его конфигурацией. Если магазина нет в таблице, то по умолчанию, merchant = 0:
НазваниеЗначениеОписание
StoreID
Идентификатор магазина в торговой системе
merchant
Идентификатор конфигурации из qrbankhlynov_merchants
  • В таблице qrbankhlynov_merchants находятся настройки мерчантов в формате JSON:
НазваниеЗначениеОписание
id
Идентификатор конфигурации
value

url – адрес отправки запросов

ca – корневой сертификат

cert – сертификат мерчанта

pkey – ключ мерчанта

extEntityId – параметры для регистрации кассовой ссылки

merchantId – идентификатор зарегистрированного ТСП в СБП

account – номер счета: если у ТСП есть счет по умолчанию, то можно не указывать счет/синоним счета в запросе

accAlias – ID счета: применяется, чтобы не использовать фактическое значение номера счета; альтернатива указанию account

qrTtl – время жизни ссылки в минутах; по умолчанию, 5 минут

interval  интервал между опросами в секундах; по умолчанию, 5 секунд

return_interval – интервал между запросами во время отмены; по умолчанию, 3 минуты

timeout – тайм-аут ожидания http-ответа в секундах; по умолчанию, 30 секунд

cancel_lifetime – время жизни отмены платежа в часах; по умолчанию, 0 – бесконечно

Конфигурация в формате JSON
  • В таблице qrbankhlynov_terminals находятся настройки терминалов в формате JSON:
НазваниеЗначениеОписание
TerminalID
Идентификатор терминала из запроса. Если запрос идет от УКМ, то соответствует cash_id – идентификатор кассы в торговой системе
value

payload – ссылка на QR: если есть, то высвечивается на кассе

qrcId – идентификатор QR: если нет, то вычисляется из payload

qrTtl – переопределяет из конфигурации merchant

Конфигурация в формате JSON

Дополнительная информация

После заполнения данных в БД демона необходим перезапуск:

sudo systemctl stop qrpayd.service

sudo systemctl start qrpayd.service

RabbitMQ перезапускать не надо.

________________________________________________

Название очереди RabbitMQ – qrbankhlynov.

________________________________________________

Удобный просмотр поля `id` в `qrbankhlynov_transactions`:

ALTER TABLE `qrbankhlynov_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 секунд. Так как касса является конечным звеном в цепочке узлов, участвующих в процессе проведения транзакции оплаты, значение данного таймаута ожидания должно быть строго больше, чем значение таймаута ожидания ответа от процессинга банка "Хлынов" (на 10 секунд больше).

Таймаут соединения, сек – общая продолжительность соединения с сервером Универсального интегратора (указывается вручную, в секундах).

Настройки нужно сохранить.

3. Затем надо создать вид оплаты QR оплата:

Вид оплаты для сервера авторизации QR оплата создается стандартным образом.

Специфическими являются только следующие настройки:

В поле Модуль оплаты необходимо указать значение qrbankhlynov.

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

Настройки необходимо сохранить.

4. Настройка для вывода QR-кода на консоль или дисплей покупателя:

Если получателем QR-кода является ID-касса с консолью, то QR-код выводится на консоль, если киоск – то QR-код выводится на основной дисплей; во всех остальных случаях QR-код печатается на ККТ.

Примечание. Поддержка печати QR-кода на чековой ленте осуществляется только для ККТ СП 802 и Пирит.

6. Для привязки драфта кассовой ссылки необходимо использовать кассовую операцию QR-Оплата - проверка статической ссылки:

Метки протоколирования

RabbitMQ – Работа с сервером RabbitMQ.

QR_PAYMENT – Средство оплаты QR оплата.