Описание
Помимо обыкновенной QR-оплаты по динамическому QR-коду, АО "Сбербанк" предлагает своим клиентам возможность оплачивать покупки с помощью своего авторского ПО – SberPay. QR-коды для оплаты по SberPay размещены в магазине на специальных наклейках с надписью «Плати QR». Такая оплата доступна для всех, у кого есть банковская карта АО "Сбербанк" и доступ в личный кабинет банка на мобильном устройстве. Для оплаты по QR-коду SberPay достаточно просто показать кассиру персональный QR-код на своём телефоне или отсканировать код продавца; носить с собой карту Сбербанка не нужно.
В зависимости от того, на каком устройстве будет формироваться QR-код, существуют различные настройки:
- Если QR-код формируется на торговом оборудовании на кассе, со стороны продавца (вендора), то следует выполнить групge настроек QR Сбербанк SberPay (vendor).
- Если QR-код формируется в мобильном приложении, на стороне клиента (покупателя), то то следует выполнить группу настроек QR Сбербанк SberPay (customer).
QR Сбербанк SberPay (vendor): QR-код формируется на кассе
Описание таблиц
- qrsberpay_configuration – таблица с общими настройками
- qrsberpay_merchant_configuration – таблица конфигураций для разных магазинов/юр.лиц
- qrsberpay_cash_configuration – таблица конфигураций для терминалов (касс)
- qrsberpay_store_configuration – таблица с настройкой конфигураций к конкретному магазину/юр.лицу
- qrsberpay_transaction – журнал транзакций
Структура таблиц
- Общие настройки хранятся в таблице qrsberpay_configuration:
Название | Значение | Описание |
---|---|---|
enabled | 1/0 | Включить/выключить интеграцию |
operation_wait_timeout | unsigned int | Время ожидания изменения статуса оплаты (сек.) |
request_period | unsigned int | Период опроса статуса оплаты |
sbersbp_timeout | unsigned int | Таймаут соединения с сервером Сбербанка (мсек.) |
sbersbp_url | string | URL до сервера Сбербанка для обработки запросов манипуляции ордером, например: https://api.sberbank.ru:8443/prod/qr/order/v3[(|https://api.sberbank.ru:8443/prod (методы захардкожены) |
sbersbp_url_token | string | URL до сервера Сбербанка для получения токена, например: https://api.sberbank.ru:8443/prod/tokens/v3[(|https://api.sberbank.ru:8443/prod (методы захардкожены) |
write_log_to_file | 1/0 | Включить/выключить запись запросов и отладочной информации в лог (информация об ошибках пишется даже при выключенной настройке) |
- Настройки для магазина хранятся в таблице qrsberpay_merchant_configuration:
Название | Значение | Описание |
---|---|---|
sbersbp_ca_сert | string | Корневой сертификат |
sbersbp_client_id | string | clientID – параметр доступа |
sbersbp_client_secret | string | clientSecret – параметр доступа |
sbersbp_local_сert | string | Клиентский сертификат |
sbersbp_member_id | string | Идентификатор клиента |
sbersbp_pkey | string | Приватный ключ |
- Настройки для кассы хранятся в таблице qrsbersbp_cash_configuration:
Название | Значение | Описание |
---|---|---|
cash_id | ID кассы в торговой системе (приходит в запросе от кассы в поле TerminalID) | |
terminal_id | Уникальный идентификатор терминала – настройка, выдающаяся банком | |
qr_id | Уникальный идентификатор наклейки – настройка, выдающаяся банком |
- Задать конфигурацию для магазина можно в таблице qrsberpay_store_configuration.
Если настройка для магазина отсутствует, то будут браться данные из конфигурации по умолчанию.
Название | Значение | Описание |
---|---|---|
store_id | ID магазина, приходящее в запросе от кассы (тэг StoreID) | |
stock_id | ID отдела, передаваемое в запросе от кассы (пока не реализовано, значение должно быть null) | |
config_id | ID конфигурации |
Дополнительная информация
После заполнения данных в БД демона необходим перезапуск:
sudo systemctl stop qrpayd.service sudo systemctl start qrpayd.service |
---|
RabbitMQ перезапускать не надо.
________________________________________________
Название очереди RabbitMQ – qrsberpay.
Настройка оплаты на сервере УКМ 4
1. В настройках магазина нужно указать путь для параметра RabbitMQ сервер как amqp://ukm:xxxxxx@192.168.25.xxx:
2. Необходимо создать сервер авторизации QR оплата:
Добавление сервера авторизации QR оплата происходит стандартным образом на странице Параметры магазина и настройка операций – Интеграция – Серверы авторизации (вкладка слева), закладка Оплаты:
В настройках требуется указать следующие обязательные для заполнения параметры:
Название – наименование сервера авторизации подставляется системой автоматически при его добавлении, однако его можно изменить вручную.
Таймаут ожидания ответа, сек – время ожидания ответа от сервера указывается вручную, в секундах. Минимальное значение (оно же – значение по умолчанию) составляет 310 секунд. Так как касса является конечным звеном в цепочке узлов, участвующих в процессе проведения транзакции оплаты, значение данного таймаута ожидания должно быть строго больше, чем значение таймаута ожидания ответа от процессинга Газпромбанка (на 10 секунд больше, чем значение operation_wait_timeout).
Таймаут соединения, сек – общая продолжительность соединения с сервером Универсального интегратора (указывается вручную, в секундах).
Настройки нужно сохранить.
3. Затем надо создать вид оплаты QR оплата:
Вид оплаты для сервера авторизации QR оплата создается стандартным образом.
Специфическими являются только следующие настройки:
В поле Модуль оплаты необходимо указать значение qrsberpay.
Также нужно отключить чек-бокс Сканировать QR-код покупателя:
Настройки необходимо сохранить.
4. Для корректной работы печати QR кода на фискальном устройстве, следует использовать стандартный профиль дизайна чеков – Сервис плюс:
5. Опциональная настройка для вывода QR-кода на консоль или дисплей покупателя:
Если получателем QR-кода является ID-касса с консолью, то QR-код выводится на консоль, если киоск – то QR-код выводится на основной дисплей; во всех остальных случаях QR-код печатается на ККТ.
Примечание. Поддержка печати QR-кода на чековой ленте осуществляется только для ККТ СП 802 и Пирит.
Метки протоколирования
RabbitMQ – Работа с сервером RabbitMQ.
QR_PAYMENT – Средство оплаты QR оплата.
QR Сбербанк SberPay (customer): QR-код формируется в мобильном приложении
Описание таблиц
- qrsberpay_configuration – таблица с общими настройками
- qrsberpay_merchant_configuration – таблица конфигураций для разных магазинов/юр.лиц
- qrsberpay_cash_configuration – таблица конфигураций для терминалов (касс)
- qrsberpay_store_configuration – таблица с настройкой конфигураций к конкретному магазину/юр.лицу
- qrsberpay_transaction – журнал транзакций
Структура таблиц
- Общие настройки хранятся в таблице qrsberpay_configuration:
Название | Значение | Описание |
---|---|---|
enabled | 1/0 | Включить/выключить интеграцию |
operation_wait_timeout | unsigned int | Время ожидания изменения статуса оплаты (сек.) |
request_period | unsigned int | Период опроса статуса оплаты |
sbersbp_timeout | unsigned int | Таймаут соединения с сервером Сбербанка (мсек.) |
sbersbp_url | string | URL до сервера Сбербанка для обработки запросов манипуляции ордером, например: https://api.sberbank.ru:8443/prod/qr/order/v3[(|https://api.sberbank.ru:8443/prod (методы захардкожены) |
sbersbp_url_customer_pay | string | URL до сервера Сбербанка для формирования заказа с помощью QR-кода покупателя, например: https://mc.api.sberbank.ru:443/prod/qr/bscanc/v1[(|https://api.sberbank.ru:8443/prod (методы захардкожены) |
sbersbp_url_token | string | URL до сервера Сбербанка для получения токена, например: https://api.sberbank.ru:8443/prod/tokens/v3[(|https://api.sberbank.ru:8443/prod (методы захардкожены) |
write_log_to_file | 1/0 | Включить/выключить запись запросов и отладочной информации в лог (информация об ошибках пишется даже при выключенной настройке) |
- Настройки для магазина хранятся в таблице qrsberpay_merchant_configuration:
Название | Значение | Описание |
---|---|---|
sbersbp_ca_сert | string | Корневой сертификат |
sbersbp_client_id | string | clientID – параметр доступа |
sbersbp_client_secret | string | clientSecret – параметр доступа |
sbersbp_local_сert | string | Клиентский сертификат |
sbersbp_member_id | string | Идентификатор клиента |
sbersbp_pkey | string | Приватный ключ |
- Настройки для кассы хранятся в таблице qrsbersbp_cash_configuration
Название | Значение | Описание |
---|---|---|
cash_id | ID кассы в торговой системе (приходит в запросе от кассы в поле TerminalID) | |
terminal_id | Уникальный идентификатор терминала – настройка, выдающаяся банком | |
qr_id | Уникальный идентификатор наклейки – настройка, выдающаяся банком |
- Задать конфигурацию для магазина можно в таблице qrsberpay_store_configuration.
Если настройка для магазина отсутствует, то будут браться данные из конфигурации по умолчанию.
Название | Значение | Описание |
---|---|---|
store_id | ID магазина, приходящее в запросе от кассы (таг StoreID) | |
stock_id | ID отдела, передаваемое в запросе от кассы (пока не реализовано, значение должно быть null) | |
config_id | ID конфигурации |
Дополнительная информация
После заполнения данных в БД демона необходим перезапуск:
sudo systemctl stop qrpayd.service sudo systemctl start qrpayd.service |
---|
RabbitMQ перезапускать не надо.
________________________________________________
Название очереди RabbitMQ – qrsberpay.
Настройка оплаты на сервере УКМ 4
1. В настройках магазина нужно указать путь для параметра RabbitMQ сервер как amqp://ukm:xxxxxx@192.168.25.xxx:
2. Необходимо создать сервер авторизации QR оплата:
Добавление сервера авторизации QR оплата происходит стандартным образом на странице Параметры магазина и настройка операций – Интеграция – Серверы авторизации (вкладка слева), закладка Оплаты:
В настройках требуется указать следующие обязательные для заполнения параметры:
Название – наименование сервера авторизации подставляется системой автоматически при его добавлении, однако его можно изменить вручную.
Таймаут ожидания ответа, сек – время ожидания ответа от сервера указывается вручную, в секундах. Минимальное значение (оно же – значение по умолчанию) составляет 310 секунд. Так как касса является конечным звеном в цепочке узлов, участвующих в процессе проведения транзакции оплаты, значение данного таймаута ожидания должно быть строго больше, чем значение таймаута ожидания ответа от процессинга Газпромбанка (на 10 секунд больше, чем значение operation_wait_timeout).
Настройки нужно сохранить.
3. Затем надо создать вид оплаты QR оплата:
Вид оплаты для сервера авторизации QR оплата создается стандартным образом.
Специфическими являются только следующие настройки:
В поле Модуль оплаты необходимо указать значение qrsberpay.
Также нужно активировать чек-бокс Сканировать QR-код покупателя.
Настройки необходимо сохранить.
Метки протоколирования
RabbitMQ – Работа с сервером RabbitMQ.
QR_PAYMENT – Средство оплаты QR оплата.