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

Общий алгоритм процесса оплаты при помощи кассовой платежной ссылки описан здесь.

Процесс проверки кассовой ссылки описан здесь.

Процесс привязки кассовой ссылки описан здесь.

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

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

  • qrsberbank_variable_stores – таблица конфигураций для магазинов
  • qrsberbank_variable_merchants – таблица для мерчантов в формате JSON
  • qrsberbank_variable_terminals – таблица конфигураций для терминалов (касс) формате JSON
  • qrsberbank_variable_transactions – журнал транзакций

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

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

Название

Значение

Описание

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

Название

Значение

Описание

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

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

login логин

password пароль

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

Конфигурация в формате JSON
  • В таблице qrsberbank_variable_terminals находятся настройки терминалов в формате JSON:

Название

Значение

Описание

TerminalID
Идентификатор терминала из запроса. Если запрос идет от УКМ 4, то соответствует cash_id идентификатор кассы в торговой системе.
qr_id

TerminalId выдает банк при привязке наклейки на кассе. Это параметр tId в ответе. TerminalId привязывается к наклейке и процедура следующая: в ответ на запрос привязки наклейки, банк отправляет номер терминала в поле tId. Этот номер нужно использовать в дальнейшем при регистрации заказов на этой кассе (уже в рамках параметра terminalId)

payload ссылка на QR. Если есть, то высвечивается на кассе

qrcId QR id. Если отсутствует, то вычисляется из payload

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

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

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

sudo systemctl stop qrpayd.service

sudo systemctl start qrpayd.service

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

________________________________________________

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

________________________________________________

Удобный просмотр поля id в qrsberbank_variable_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

Стандартные (включая настройку параметра scanQRCode).