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

Ключ

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

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

Примечание. Если в магазине настроена оплата по кассовой ссылке банка (по статическому QR-коду), но у покупателя оформлена оплата по подписке, то касса проигнорирует наличие подписки и запросит произвести оплату по кассовой ссылке. Если же настроена оплата по подписке, а у покупателя ее нет, то касса сообщит о невозможности провести оплату по подписке и предложит оплатить чек штатным образом. 

Оглавление

Описание

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

...

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

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

  • qrbankhlynov_sub_merchants
  •  –
  • таблица для мерчантов в
  • формате JSON
  • формате JSON
  • qrbankhlynov_sub_stores
  •  –
  • таблица конфигураций для магазинов
  • qrbankhlynov
  • _terminals – таблица
  • _sub_terminals – таблица конфигураций для терминалов (касс) формате JSON
  • qrbankhlynov_sub_transactions – журнал транзакций

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Конфигурация в формате JSON
  • В таблицеqrbankhlynov_
  • terminals
  • sub_merchants находятся настройки терминалов в формате 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_sub.

________________________________________________

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

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`;

Настройки Настройки на сервере УКМ 5

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

...