Начиная с версии 4.6.240 реализована возможность печати отчета по операциям.
Модуль RsbSbp предназначен для выполнения оплаты с помощью клиентского приложения. Покупателю необходимо отсканировать QR-код с экрана кассы или распечатанного слипа.
Для кассового ПО Artix на базе Ubuntu 22.04 функционал не поддержан.
Типы поддерживаемых операций:
- оплата,
- отмена оплаты для чека продажи,
- возврат по чеку продажи,
- печать отчета по операциям.
Для оплаты чека продажи покупателю необходимо отсканировать QR-код и подтвердить оплату в клиентском приложении.
В случае неполучения успешного статуса оплаты кассой или других ошибках оплаты в подытоге, кассой формируется команда на отмену данного платежа. Оплата в чек при этом не добавляется. При обработке команды отмены повторно проверяется статус оплаты, и если на момент повторной проверки транзакция оплаты завершена успешно (получен статус о проведении платежа), то кассой генерируется запрос на возврат.
Обращаем внимание на то, что команды на отмену и возврат платежа могут обрабатываться банком длительное время. По вопросам возврата денежных средств просим обращаться в банк.
Также стоит учитывать следующее:
1. Информация на смартфоне клиента не является фактом подтверждения платежа и может быть недействительной.
2. Подтверждением платежа является только получение ПО Artix информации об успешном прохождении оплаты.
При использовании СБП Русский Стандарт рекомендуется включить автоматическое закрытие чека.
Конфигурирование модуля
Для использования модуля необходимо установить пакет artix-rsbsbp.
aptitude install artix-rsbsbp
Запрос к процессинговой системе RsbSbp выполняется при выборе специального типа оплаты. Для добавления типа оплаты необходимо выполнить конфигурирование модуля. Номер типа оплаты задается в процессе конфигурирования.
dpkg-reconfigure artix-rsbsbp
Настройки процессинга задаются в конфигурационном файле /linuxcash/cash/paysystems/rsbsbp/config.ini
в секции [RsbSbp]
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
url | строковый | URL-адрес сервера | По умолчанию
http://localhost
|
merchantId | строковый | Идентификатор зарегистрированного ТСП в СБП | |
terminalId | строковый | Идентификатор устройства | |
account | строковый | Банковский счет | |
xUserLogin | строковый | Регистрационный номер карточки ЮЛ в информационных системах Банка | |
paymentPurposeMask | строковый | Маска для формирования полей paymentPurpose и refundPurpose | По умолчанию %(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[07d])%(document.dateTimeBeg[yyyy-MM-ddThh:mm:ss.zzz]) |
additionalInfoMask | строковый | Маска для поля дополнительной информации | По умолчанию Должен быть задан в виде валидного JSON массива в формате |
qrLifetime | числовой | Время жизни QR-кода в минутах | По умолчанию 5 |
timeout | числовой | Таймаут ожидания запроса в секундах | По умолчанию 10 |
waitPaymentByQRCodeDuration | числовой | Время ожидания статуса оплаты в секундах | По умолчанию 310 |
intervalBetweenStatusRequests | числовой | Интервал между запросами статуса оплаты в секундах | По умолчанию 1 |
[RsbSbp] ; Url адрес сервера ; По умолчанию http://localhost ;url=https://localhost:7603/ ; Идентификатор зарегистрированного ТСП в СБП ;merchantId= ; Идентификатор устройства ;terminalId= ; Банковский счет ;account= ; Регистрационный номер карточки ЮЛ в информационных системах Банка ;xUserLogin= ; Маска для формирования полей paymentPurpose и refundPurpose ; По умолчанию '%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[07d])%(document.dateTimeBeg[yyyy-MM-ddThh:mm:ss.zzz])' ;paymentPurposeMask='%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[07d])%(document.dateTimeBeg[yyyy-MM-ddThh:mm:ss.zzz])' ; Массив дополнительных данных additionalInfo. Должен быть задан в виде валидного JSON массива в формате [{"key":"key1","value":"value1"},...,{"key":"keyN","value":"valueN"}]. ; Если значение настройки пустое или JSON невалиден, поле additionalInfo не передается. ; По умолчанию '[{"key":"shopCode","value":"%(document.shopCode[04d])"},{"key":"cashCode","value":"%(document.cashCode[02d])"},{"key":"shiftNum","value":"%(document.shift[04d])"},{"key":"checkNum","value":"%(document.num[07d])"},{"key":"checkOpenTime","value":"%(document.dateTimeBeg[yyyy-MM-ddThh:mm:ss.zzz])"}]' ;additionalInfoMask='[{"key":"shopCode","value":"%(document.shopCode[04d])"},{"key":"cashCode","value":"%(document.cashCode[02d])"},{"key":"shiftNum","value":"%(document.shift[04d])"},{"key":"checkNum","value":"%(document.num[07d])"},{"key":"checkOpenTime","value":"%(document.dateTimeBeg[yyyy-MM-ddThh:mm:ss.zzz])"}]' ; Время жизни QR-кода в минутах ; По умолчанию 5 ;qrLifetime=5 ; Таймаут ожидания запроса в секундах ; По умолчанию 10 ;timeout=10 ; Время ожидания статуса оплаты в секундах ; По умолчанию 310 ;waitPaymentByQRCodeDuration=310 ; Интервал между запросами статуса оплаты в секундах ; По умолчанию 1 ;intervalBetweenStatusRequests=1
Для корректной работы необходимо использовать сертификат. Настройки для сертификата и ключей задаются параметрами certificatePath
, privateKeyPath
, signingKeyPath
в конфигурационном файле /linuxcash/cash/paysystems/rsbsbp/config.ini
в секции [RsbSbp.Certificate]
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
certificatePath | строковый | Путь до сертификата | Необходимо заполнить все параметры |
privateKeyPath | строковый | Путь до приватного ключа сертификата | |
signingKeyPath | строковый | Путь до приватного ключа, для подписи возвратов |
[RsbSbp.Certificate] ; Путь до сертификата ;certificatePath= ; Путь до приватного ключа сертификата ;privateKeyPath= ; Путь до приватного ключа, для подписи возвратов ;signingKeyPath=
Для оплаты по статическому QR-коду необходимо задать параметры id
и payload
в конфигурационном файле /linuxcash/cash/paysystems/rsbsbp/config.ini
в секции [RsbSbp.StaticQr]
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
id | строковый | Идентификатор | Процессинг использует кассовую ссылку только если заполнены оба параметра |
payload | строковый | Данные |
[RsbSbp.StaticQr] ; Данные кассовой ссылки (статический QR код). Процессинг использует кассовую ссылку только если заполнен параметр id. ; Идентификатор QR-кода ;id= ; Данные. Необходимо заполнить, чтобы отображать корректный QR-код на экране ;payload=
Печать QR-кода для оплаты
В кассовом ПО Artix реализована возможность печати слипа с QR-кодом для оплаты. Печать QR-кода задается параметром printQrPaymentSlip
в конфигурационном файле
/linuxcash/cash/conf/ncash.ini
в секции [Check]
:
- при значении
true
будет осуществлена печать QR-кода на слипе, затем на экран будет выведен диалог "Отсканируйте QR-код для оплаты", - при значении
false
на экран будет выведен диалог "Отсканируйте QR-код для оплаты", печать слипа с QR-кодом не осуществляется.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
printQrPaymentSlip | логический |
| Печатать слип с QR-кодом для оплаты | По умолчанию false |
[Check] ... ; Печатать слип с QR-кодом для оплаты ; По умолчанию false ;printQrPaymentSlip = false
Отображение QR-кода на экране
В кассовом ПО Artix реализована возможность отображения QR-кода в форме оплаты. Отображение QR-кода задается параметром visible
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
.d/gui.ini
в секции [UI.ScanQrCodeForm.qrCode]
:
- при значении
true
на экран будет выведен диалог сканирования QR-кода, QR-код отображен в диалоге, - при значении
false
на экран будет выведен диалог сканирования QR-кода, QR-код не отображен в диалоге.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
visible | логический |
| Отображение QR-кода в форме оплаты по коду | По умолчанию true |
[UI.ScanQrCodeForm.qrCode] ; Отображение QR-кода в форме оплаты по коду ; По умолчанию true ;visible = true
Печать отчета по операциям
Для возможности печати отчета по операциям необходимо в утилите администрирования Yuki на пункт меню настроить действие "Печать отчета по безналу" с командой COMMAND_EMV_PRINTREPORT
и параметром valutcode
с указанием кода валюты. Отчет формируется по операциям, произведенным со времени открытия первого чека в смене до текущего времени. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
В кассовом ПО Artix реализована возможность задать часовой пояс для получения отчета по операциям.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
timeZone | строковый | Часовой пояс для получения отчета по операциям | По умолчанию 'Europe/Moscow' |
[RsbSbp] ... ; Часовой пояс для получения отчета по операциям ; По умолчанию 'Europe/Moscow' ;timeZone = 'Europe/Moscow'
Логирование
Журнал запросов к процессинговой системе RsbSbp ведется в основном логе /linuxcash/logs/current/terminal.log
.