Информация |
---|
ПО банка "Хлынов" позволяет производить оплаты через Систему быстрых платежей как по подписке (см. настройки ниже), так и по кассовой платежной ссылке. Поскольку настройки Универсального интегратора идентичны как для оплаты по подписке, так и для оплаты по кассовой платежной ссылке, рекомендуем настроить сразу оба типа оплат. В таком случае, платежи покупателей с оформленной подпиской будут списываться с них автоматически при нажатии кнопки Расчет, а тем, у кого подписки нет, будет предложена оплата по кассовой ссылке. |
Оглавление |
---|
Описание
Подписка на оплату по СБП – это возможность привязывать свой банковский счёт к магазину для дальнейших покупок. Покупатель, оформивший такую подписку, может производить оплату без сканирования QR-кода и захода в приложение банка: денежные средства при оформленной подписке автоматически списываются со счёта, который пользователь выбрал в ходе привязки.
Подписка оформляется покупателем на внешнем сервисе (путём его взаимодействия с Национальной Системой Платёжных Карт). Для проведения оплаты по подписке:
- покупатель безопасно авторизуется в чеке по динамическому QR-коду (осуществляется через систему лояльности СуперМаг Loya);
- LOYA передает на кассу всю необходимую техническую информацию для проведения оплаты по подписке СБП;
- касса отправляет в Универсальный интегратор полученные от LOYA сведения;
- через взаимодействие Универсального интегратора с процессинговым центром банка "Хлынов" и Национальной Системой Платёжных Карт, производится оплата по подписке.
Для наглядности, процесс оплаты по подписке приведен ниже в виде схемы:
Якорь | ||||
---|---|---|---|---|
|
...
- В таблице 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 перезапускать не надо.
...
Удобный просмотр поля `id` в `qrbankhlynov_transactions`:
ALTER TABLE `qrbankhlynov_transactions` |
---|
Настройки
...
на
...
сервере УКМ
...
Настройка оплаты на сервере УКМ 4
1. В настройках магазина нужно указать путь для параметра RabbitMQ сервер как amqp://ukm:xxxxxx@192.168.25.xxx:
Измененные параметры магазина надо сохранить.
2. Необходимо создать сервер авторизации QR оплата:
Добавление сервера авторизации QR оплата происходит стандартным образом на странице Параметры магазина и настройка операций – Интеграция – Серверы авторизации (вкладка слева), закладка Оплаты:
В настройках требуется указать следующие обязательные для заполнения параметры:
Название – наименование сервера авторизации подставляется системой автоматически при его добавлении, однако его можно изменить вручную.
Таймаут ожидания ответа, сек – время ожидания ответа от сервера указывается вручную, в секундах. Минимальное значение (оно же – значение по умолчанию) составляет 310 секунд. Так как касса является конечным звеном в цепочке узлов, участвующих в процессе проведения транзакции оплаты, значение данного таймаута ожидания должно быть строго больше, чем значение таймаута ожидания ответа от процессинга банка "Хлынов" (на 10 секунд больше).
Настройки нужно сохранить.
3. Затем надо создать вид оплаты QR оплата:
Вид оплаты для сервера авторизации QR оплата создается стандартным образом.
Специфическими являются только следующие настройки:
В поле Модуль оплаты необходимо указать значение qrbankhlynov.
Также нужно отключить чек-бокс Сканировать QR-код покупателя и установить чек-бокс Использовать подписку для оплаты.
Настройки надо сохранить.
Метки протоколирования
RabbitMQ – Работа с сервером RabbitMQ.
...
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- коду, например:
Структуру данного регулярного выражения можно менять, исходя из особенностей конкретной торговой сети. Файл с внесенными в него изменениями необходимо сохранить.