Описание
"Социальный процессинг" – это универсальный сервис безналичной оплаты для участников адресных региональных социальных программ, владельцев карты МИР, который предоставляет возможность предоплатной и постоплатной схемы выделения бюджетных средств под социальную программу. Таким образом, через "Социальный процессинг" льготным категориям граждан предоставляется возможность использовать карты МИР в магазинах для оплаты социально-значимых категорий товаров в счет бюджетных средств. Какие карты МИР будут относиться к ряду социальных, а также какие товары и на какую сумму можно будет с их помощью приобрести, определяет сервис "Социальный процессинг".
Для проведения оплаты через "Социальный процессинг", участникам программы необходимо предупредить кассира, что оплата товаров будет проводиться по социальному счету. При выборе такого способа оплаты, на подытоге касса УКМ 4 отправит запрос в "Социальный процессинг" на резервирование денежных с полным составом чека (в котором могут быть как социально-значимые, так и прочие товары). Затем, касса получит ответ с перечнем социально-значимых товаров и суммой, доступной для социальной оплаты, после чего запросит подтверждение списания социальных средств. Получив данное подтверждение, касса отправит в "Социальный процессинг" запрос на списание социальной суммы. Если средств социальной оплаты не хватит для закрытия чека, покупателю придется доплатить любым иным способом. По закрытии чека, социально-значимым товарам в нем будет присвоен статус "социальный товар" и данная информация будет сохранена в кассовой системе. Социально-значимые товары можно возвращать, однако частичный их возврат невозможен.
Со стороны УКМ 4, платежи через "Социальный процессинг" представляют собой специфический вид оплаты, работающий через Универсальный интегратор. Данный функционал в обязательном порядке требует наличия настроенной и корректно работающей оплаты через Сбербанк, так как для считывания социальных карт используется пин-пад Сбербанка.
Особенности:
- В одном чеке категорически не допускается более одной оплаты через сервис "Социальный процессинг". За соблюдением этого требования строго следит Универсальный интегратор.
- В ответе, передаваемым на кассу, товарные позиции, считающиеся социальными, помечаются свойством с кодом SOC_PROC и значением в формате "[номер позиции],[соц. стоимость позиции]".
- Частичный возврат социальных товаров невозможен, так как сторона сервиса "Социальный процессинг" не отвечает за вычисления цен и количества товаров.
- Если в возврате по чеку присутствуют социальные товары, то возврат через сервис "Социальный процессинг" должен быть выполнен первым, чтобы избежать коллизий при возврате смешанных товаров, оплаченных несколькими средствами оплаты.
Настройки Универсального интегратора
Описание таблиц
- soc_processing_stores – задается соответствие номера магазина в настройках Универсального интегратора и торговой системы
- soc_processing_merchants – настройки параметров соединения и взаимодействия с сервисом "Социальный процессинг" для каждого магазина
- soc_processing_terminals – настройки для кассы
- soc_processing_transactions – таблица для хранения данных по транзакциям
Структура таблиц
- В таблице soc_processing_stores находится связка между идентификатором магазина из запроса и его конфигурацией:
Название | Значение | Описание |
---|---|---|
StoreID | string(128) | Идентификатор магазина в торговой системе |
merchant | int | Идентификатор конфигурации из soc_processing_merchants |
- В таблице soc_processing_merchants находятся настройки магазинов в формате JSON:
Название | Значение | Описание |
---|---|---|
id | int | Идентификатор конфигурации |
value | string в формате JSON url – адрес взаимодействия с банком qrTtl – время жизни запроса на оплату (в минутах), по умолчанию = 5 interval – интервал повторения запроса (например, запроса статуса) (в секундах), по умолчанию = 5 timeout – таймаут сетевого соединения с банком cancel_lifetime – время жизни запроса на отмену транзакции (в часах), по умолчанию = 0 – бесконечно enterprise_id – идентификатор торгового предприятия, выдается при регистрации на сервисе "Социальный процессинг" merchant_id – идентификатор магазина, выдается при регистрации на сервисе "Социальный процессинг" sp_code – код социальной программы, выдается при регистрации на сервисе "Социальный процессинг" | Конфигурация в формате JSON |
- В таблице qralpha_variable_terminals находятся настройки терминалов в формате JSON:
Название | Значение | Описание |
---|---|---|
TerminalID | string(128) | ID кассы в торговой системе |
value | string в формате JSON qrTtl – время жизни запроса на оплату (в минутах), по умолчанию = 5 TerminalNo – идентификатор терминала, выдается при регистрации на сервисе "Социальный процессинг" | Конфигурация в формате JSON |
- qralpha_variable_transactions – таблица для хранения данных по транзакциям:
Название | Значение | Описание |
---|---|---|
op_date | datetime | Дата обновления данных |
id | bin | Уникальный идентификатор операции в системе Универсального интегратора в двоичном виде |
cancel | bin | Уникальный идентификатор отмены операции в Универсальном интеграторе в двоичном виде |
data | string в формате JSON | Данные по транзакции: фактически хранит данные из ответа от сервиса "Социальный процессинг", требуемые для возврата, отмены или просто идентификации операции |
Дополнительная информация
После заполнения данных в БД демона необходим перезапуск:
sudo systemctl stop qrpayd.service sudo systemctl start qrpayd.service |
---|
RabbitMQ перезапускать не надо.
________________________________________________
Название очереди RabbitMQ – soc_processing.
________________________________________________
Настройки авторизации на кассовом сервере УКМ 4
Настройка оплаты на сервере УКМ 4
1. В настройках магазина нужно указать путь для параметра RabbitMQ сервер как amqp://ukm:xxxxxx@192.168.25.xxx:
Измененные параметры магазина надо сохранить.
2. Необходимо создать сервер авторизации QR оплата:
Добавление сервера авторизации QR оплата происходит стандартным образом на странице Параметры магазина и настройка операций – Интеграция – Серверы авторизации (вкладка слева), закладка Оплаты:
В настройках требуется указать следующие обязательные для заполнения параметры:
Название – наименование сервера авторизации подставляется системой автоматически при его добавлении, однако его можно изменить вручную.
Таймаут ожидания ответа, сек – время ожидания ответа от сервера указывается вручную, в секундах. Минимальное значение (оно же – значение по умолчанию) составляет 310 секунд. Так как касса является конечным звеном в цепочке узлов, участвующих в процессе проведения транзакции оплаты, значение данного таймаута ожидания должно быть строго больше, чем значение таймаута ожидания ответа от сервиса "Социальный процессинг" (на 10 секунд больше).
Настройки нужно сохранить.
3. Затем надо создать вид оплаты QR оплата:
Вид оплаты для сервера авторизации QR оплата создается стандартным образом.
Специфическими являются только следующие настройки:
В поле Модуль оплаты необходимо указать значение soc_processing.
Также нужно отключить чек-бокс Сканировать QR-код покупателя:
Настройки необходимо сохранить.
Метки протоколирования
RabbitMQ – Работа с сервером RabbitMQ
QR_PAYMENT – Средство оплаты QR оплата.