Помимо обыкновенной 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 перезапускать не надо.
________________________________________________
Название очереди RabbitMQ – qrsberbank_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).