Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация

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

Поскольку настройки Универсального интегратора идентичны как для оплаты по подписке, так и для оплаты по кассовой платежной ссылке, рекомендуем настроить сразу оба типа оплат. В таком случае, платежи покупателей с оформленной подпиской будут списываться с них автоматически при нажатии кнопки Расчет, а тем, у кого подписки нет, будет предложена оплата по кассовой ссылке.

Оглавление

Описание

Подписка на оплату по СБП – это возможность привязывать свой банковский счёт к магазину для дальнейших покупок. Покупатель, оформивший такую подписку, может производить оплату без сканирования QR-кода и захода в приложение банка: денежные средства при оформленной подписке автоматически списываются со счёта, который пользователь выбрал в ходе привязки.

Подписка оформляется покупателем на внешнем сервисе (путём его взаимодействия с Национальной Системой Платёжных Карт). Для проведения оплаты по подписке:

  • покупатель безопасно авторизуется в чеке по динамическому QR-коду (осуществляется через систему лояльности СуперМаг Loya);
  • LOYA передает на кассу всю необходимую техническую информацию для проведения оплаты по подписке СБП;
  • касса отправляет в Универсальный интегратор полученные от LOYA сведения;
  • через взаимодействие Универсального интегратора с процессинговым центром банка "Хлынов" и Национальной Системой Платёжных Карт, производится оплата по подписке.

Для наглядности, процесс оплаты по подписке приведен ниже в виде схемы:

Image Modified

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

...

  • В таблице 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`
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

1. В настройках магазина нужно указать путь для параметра RabbitMQ сервер как amqp://ukm:xxxxxx@192.168.25.xxx:

Image Removed

Измененные параметры магазина надо сохранить. 

2. Необходимо создать сервер авторизации QR оплата:

Image Removed

Добавление сервера авторизации QR оплата происходит стандартным образом на странице Параметры магазина и настройка операций – Интеграция – Серверы авторизации (вкладка слева), закладка Оплаты:

Image Removed

В настройках требуется указать следующие обязательные для заполнения параметры:

Image Removed

Название – наименование сервера авторизации подставляется системой автоматически при его добавлении, однако его можно изменить вручную.

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

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

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

Image Removed

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

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

Image Removed

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

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

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

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

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

...

5

Стандартные, однако, содержимое конфигурационного файла payment_qrpay_ui.conf(services/payment/payment_qrpay_ui.conf) будет немного иным:

Блок кода
languagescala
themeRDark
titlepayment_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, после чего сохранить файл:

Image Added

Также, в конфигурационном файле loya.conf (services/marketing/loya.conf) нужно настроить регулярное выражение, которое позволит УКМ 5 принимать сведения о клиенте LOYA, авторизовавшемся в чеке по динамическому QR- коду, например:

Image Added

Структуру данного регулярного выражения можно менять, исходя из особенностей конкретной торговой сети. Файл с внесенными в него изменениями необходимо сохранить.