Описание

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

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

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

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

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

Название

Значение

Описание

StoreID

string(128)

Идентификатор магазина в торговой системе
merchantintИдентификатор конфигурации из таблицы qralpha_variable_merchants

Название

Значение

Описание

idint

ID настройки для магазина.

0 – общая настройка для всех магазинов; значение зарезервировано

value string в формате JSON

Хранит настройки в формате JSON:

















urlАдрес взаимодействия с банком
pkey_alias

Алиас ключа для подписи запроса

pkey

Ключ для подписи запроса

ssl_local_cert

Локальный сертификат для организации соединения

ssl_pkey

Закрытый ключ для организации соединения

qrTtl

Время жизни запроса на оплату в минутах; значение по умолчанию = 5

interval

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

timeout

Таймаут сетевого соединения с банком

cancel_lifetim

Время жизни  запроса на отмену транзакции в часах; значение по умолчанию = 0 (бесконечно)

Название

Значение

Описание

TerminalIDstring(128)

 ID кассы в торговой системе

valuestring в формате JSONХранит настройки в формате JSON:


payload

Ссылка для отображения

qrcId

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

Идентификатор терминала в системе СБП

Название

Значение

Описание

op_datedatetime

 Дата обновления данных

idbin

Уникальный идентификатор операции в системе Универсального интегратора в двоичном виде

cancelbin

Уникальный идентификатор отмены операции в системе Универсального интегратора в двоичном виде

datastring в формате JSON

Данные по транзакции; фактически хранит ответ от банка без поля message и прочих ненужных полей

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

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

sudo systemctl stop qrpayd.service

sudo systemctl start qrpayd.service

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

________________________________________________

Название очереди RabbitMQ – qralpha_variable.

Важно! В целях обеспечения большей стабильности тестовой среды, на сервере интегратора может единоразово потребоваться прописать значение -i в следующей строке:

ExecStart=/usr/local/qrpay/qrpayd -d qrpayd -u qrpay -p xxxxxx 

sudo mcedit /etc/systemd/system/qrpayd.service

ExecStart=/usr/local/qrpay/qrpayd -d qrpayd -u qrpay -p xxxxxx -i

sudo systemctl daemon-reload

sudo systemctl restart qrpayd.service

Настройки авторизации на кассовом сервере УКМ 4

Настройка оплаты на сервере УКМ 4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4. Для корректной работы печати QR кода на фискальном устройстве, следует использовать стандартный профиль дизайна чеков – Сервис плюс:

5. Опциональная настройка для вывода QR-кода на консоль или дисплей покупателя:

Если получателем QR-кода является ID-касса с консолью, то QR-код выводится на консоль, если киоск – то QR-код выводится на основной дисплей; во всех остальных случаях QR-код печатается на ККТ.

Примечание. Поддержка печати QR-кода на чековой ленте осуществляется только для ККТ СП 802 и Пирит.

6. Для привязки драфта кассовой ссылки необходимо использовать кассовую операцию QR-Оплата - проверка статической ссылки:

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

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

QR_PAYMENT – Средство оплаты QR оплата.

Проверка кассовой платёжной ссылки

Для осуществления QR-оплат, некоторые банки используют многоразовую платёжную ссылку СБП. 

Считав сгенерированный QR-код, можно проверить соответствие считанной ссылки и ссылки в настройках Универсального интегратора, через который осуществляется взаимодействие с УКМ 4.

Проверка ссылки является специальной кассовой операцией и настраивается в разделе кассового сервера по адресу: Настройка сервера и оборудования – Оборудование ККМ – Раскладки клавиатуры (вкладка слева):

Кликнув на название используемой раскладки, можно перейти к окну с ее настройками, где необходимо выбрать клавишу, которая будет инициировать проверку кассовой ссылки, и в строке Функциональный под раскладкой нажать кнопку Поиск:

В появившемся окне нужно ввести (целиком или частично) название кассовой операции QR-оплата - проверка статической ссылки и выбрать верное соответствие из выпадающего списка:

Откроется следующее окно:

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

В окне с раскладкой нужно нажать кнопку Сохранить:

В окне подтверждения выполненных настроек следует выбрать опцию Да:

Клавиша запуска проверки кассовой ссылки настроена.

На touch-кассе Lillo проверка кассовой ссылки вызывается из интерфейса самой кассы:

На кассе УКМ 4 проверка статической ссылки происходит следующим образом:

Касса УКМ-клиентTouch-касса Lillo

1. Операция проверки ссылки вызывается нажатием специально запрограммированной клавиши, после чего открывается следующее диалоговое окно:

2. Как только QR-код будет считан сканером, появится сообщение о результатах проверки: 

либо:

1. Операция проверки ссылки вызывается нажатием специальной кнопки:

2. Откроется следующее диалоговое окно:

3. Как только QR-код будет считан сканером, появится сообщение о результатах проверки: 

либо:

Привязка платежной ссылки к юр.лицу/магазину/кассе

Как правило, каждая платежная ссылка, содержащиеся в QR-коде, привязываются к определенному юр. лицу, магазину и кассе путем механического ввода данных об этой ссылке оператором на кассе. Альфа-Банк решает проблемы промышленного тиражирования кассовых платёжных ссылок в крупных торговых сетях проще: подготовкой наклеек с QR-кодом, содержащих "пустую" кассовую ссылку, ещё не соотнесенную с конкретным клиентом (юр.лицом/магазином/кассой). Сначала такие наклейки размещаются на кассах в торговом зале, а затем с помощью кассовой операции QR-оплата - проверка статической ссылки через Универсальный интегратор осуществляется запрос, который привязывает платежную ссылку, содержащуюся в каждом конкретном QR-коде, к кассе, на которой она размещена, а также к конкретному юр.лицу и магазину.

При этом, может сложиться ситуация, когда в рамках одного магазина одновременно имеются как уже привязанные платежные ссылки, так и "пустые". В таком случае, операция QR-оплата - проверка статической ссылки будет работать следующим образом:

1. Если платежная ссылка уже привязана к кассе, то произойдет описанная выше штатная процедура проверки платежной ссылки СБП.

2. Если платежная ссылка еще не закреплена за определенной кассой, Универсальный интегратор выполнит запрос на привязку ссылки: 

 Сразу после считывания QR-кода, касса запросит ввод номера терминала:

Номера терминалов строго индивидуальны и генерируются на стороне Альфа-Банка при регистрации сделки СБП. Количество номеров терминалов выдается банком ритейлеру по количеству используемых в магазине КСО/киосков/касс. За корректность используемых номеров терминалов полностью ответственен ритейлер.

Номер терминала нужно ввести вручную, после чего – нажать Ввод:

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

В дальнейшем, при проверке валидности данного QR-кода, окно ввода номера терминала выводиться не будет и проверка будет осуществляться штатным образом.