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

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

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

  • qrsberbank_dynamic_merchantsтаблица для мерчантов в формате JSON
  • qrsberbank_dynamic_stores – таблица конфигураций для магазинов
  • qrsberbank_dynamic_transactions – журнал транзакций

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

  • В таблице qrsberbank_dynamic_stores находится связка между идентификатором магазина из запроса и его конфигурацией. Если магазина нет в таблице, то, по умолчанию, merchant = 0:

Название

Значение

Описание

StoreID
Идентификатор магазина в торговой системе
merchant
Идентификатор конфигурации из qrsberbank_dynamic_stores
  • В таблице qrsberbank_dynamic_merchants находятся настройки мерчантов в формате JSON:

Название

Значение

Описание

id
Идентификатор конфигурации
value

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

userName – логин

password – пароль

clientId – номер (идентификатор) плательщика в системе партнера; используется для реализации функционала связок

merchantLogin – логин дочернего партнера (если используется)

sessionTimeoutSecs – продолжительность жизни заказа в секундах; если параметр не задан, будет использовано значение, указанное в настройках партнера или время по умолчанию (1200 секунд)

returnUrl – адрес, на который требуется перенаправить плательщика в случае успешной оплаты, когда партнер использует платёжную страницу платёжного шлюза

failUrl – адрес, на который требуется перенаправить плательщика в случае неуспешной оплаты, когда партнер использует платёжную страницу платёжного шлюза; если не указан, используется returnUrl

Конфигурация в формате JSON
  • В таблице qrsberbank_dynamic_merchants можно указать дополнительно наши настройки мерчантов в формате JSON:

Название

Значение

Описание

id
Идентификатор конфигурации
value

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

timeout – время (в секундах) ожидания ответа от Сбербанка; по умолчанию, 30 секунд

refund_interval – интервал (в секундах) между попытками возврата; по умолчанию, 1 секунда

refund_timeout – время (в секундах) на возврат; по умолчанию, 60 секунд

cancel_lifetime – время (в часах) для операции отмены; по умолчанию, отсутствует

inputSrc – куда выводить QR; по умолчанию, 0 (INTEGR_INPUTSRC_SHOW_QR_DEFAULT)

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

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

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

sudo systemctl stop qrpayd.service

sudo systemctl start qrpayd.service

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

________________________________________________

Название очереди RabbitMQqrsberbank_dynamic.

________________________________________________

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

ALTER TABLE `qrsberbank_dynamic_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

Стандартные, включая описанные ниже специфические значения параметров для Сбербанка.

В случае настройки оплаты по динамическому QR-коду, в файле payment_qrpay_ui.conf (services\payment\payment_qrpay_ui.conf) нужно указать следующие значения параметров modulePay, moduleCancel и subsystem:

Также, для любого вида QR-оплат Сбербанка в файле payment_qrpay_ui.conf (services\payment\payment_qrpay_ui.conf) следует указать значение параметра scanQRCode как false: