ПО банка "Хлынов" позволяет производить оплаты через Систему быстрых платежей как по подписке (см. настройки ниже), так и по кассовой платежной ссылке.
Поскольку настройки Универсального интегратора идентичны как для оплаты по подписке, так и для оплаты по кассовой платежной ссылке, рекомендуем настроить сразу оба типа оплат. В таком случае, платежи покупателей с оформленной подпиской будут списываться с них автоматически при нажатии кнопки Расчет, а тем, у кого подписки нет, будет предложена оплата по кассовой ссылке.
Описание
Подписка на оплату по СБП – это возможность привязывать свой банковский счёт к магазину для дальнейших покупок. Покупатель, оформивший такую подписку, может производить оплату без сканирования QR-кода и захода в приложение банка: денежные средства при оформленной подписке автоматически списываются со счёта, который пользователь выбрал в ходе привязки.
Подписка оформляется покупателем на внешнем сервисе (путём его взаимодействия с Национальной Системой Платёжных Карт). Для проведения оплаты по подписке:
- покупатель безопасно авторизуется в чеке по динамическому QR-коду (осуществляется через систему лояльности СуперМаг Loya);
- LOYA передает на кассу всю необходимую техническую информацию для проведения оплаты по подписке СБП;
- касса отправляет в Универсальный интегратор полученные от LOYA сведения;
- через взаимодействие Универсального интегратора с процессинговым центром банка "Хлынов" и Национальной Системой Платёжных Карт, производится оплата по подписке.
Для наглядности, процесс оплаты по подписке приведен ниже в виде схемы:
Настройки Универсального интегратора
Описание таблиц
- 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` |
---|
Настройки на сервере УКМ 5
Стандартные, однако, содержимое конфигурационного файла payment_qrpay_ui.conf(services/payment/payment_qrpay_ui.conf) будет немного иным:
{ "payment.qrpay_raiffd": { params : { paymentId = 9 # Id средства оплаты. Уникальный код средства оплаты на кассе. Определяет порядок вывода списка средств оплаты на экран дисплея. externalCode = "9" # Id средства оплаты для внешних систем. Не используется. Рекомендуется устанавливать значение равное paymentId. currencyId = 0 # Параметр не изменять! currencyCode = "RUB" # Параметр не изменять! name = "Оплата QR-кодом" # Название средства оплаты. Выводится на экран кассира, печатается в чеке и в отчётах. timeout = 1000 # Время ожидания ответа от подсистем (в секундах). Параметр изменять не рекомендуется. isMain = false # Параметр, устанавливающий данный тип оплаты по-умолчанию pType = Card # Тип средства оплаты. Параметр не изменять! isFiscal = true # Средство оплаты должно регистрироваться в ККТ. Параметр не изменять! returnByCashForbidden = false # Нельзя возвращать наличными покупки, оплаченные данным средством оплаты. Параметр не изменять! changeAllowed = false # Параметр не изменять! url = "amqp://ukm:xxxxxx@192.168.24.74" # URL Универсального интегратора modulePay = "servplus.qrraiffd_variable.payment" # Тип модуля оплаты. Настройка для банков: # Райффайзен Банк - "servplus.qrraiffd.payment" # Банк Русский Стандарт - "servplus.qrrsb.payment" # Газпромбанк - "servplus.qrgazprom.payment" moduleCancel = "servplus.qrraiffd_variable.payment" # Тип модуля отмены. Настройка для банков: # Райффайзен Банк - "servplus.qrraiffd.cancel" # Банк Русский Стандарт - "servplus.qrrsb.cancel" # Газпромбанк - "servplus.qrgazprom.cancel" subsystem = "qrraiffd_variable" # Подсистема. Настройка для банков: # Райффайзен Банк - "qrraiffd" # Банк Русский Стандарт - "qrrsb" # Газпромбанк - "qrgazprom" amqp = "amq.topic" # Параметр не изменять! amqpTimeout = 10 second # Параметр не изменять! onScreenOrder = 3 # Порядок отображения средства оплаты на экране autoStartup = false # Запускать оплату автоматически scanQRCode = false # Считывание QR сканером с экрана устройства useSubscription = true # Использование подписки через систему лояльности availableOnSelfService = true # Метод оплаты доступен в режиме КСО (киоск самообслуживания) } } }
Параметр useSubscription необходимо установить в значение true, после чего сохранить файл:
Также, в конфигурационном файле loya.conf (services/marketing/loya.conf) нужно настроить регулярное выражение, которое позволит УКМ 5 принимать сведения о клиенте LOYA, авторизовавшемся в чеке по динамическому QR- коду, например:
Структуру данного регулярного выражения можно менять, исходя из особенностей конкретной торговой сети. Файл с внесенными в него изменениями необходимо сохранить.