Начиная с версии 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строковыйМаска для поля дополнительной информации

По умолчанию [{"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])"}].

Должен быть задан в виде валидного JSON массива в формате [{"key":"key1","value":"value1"},...,{"key":"keyN","value":"valueN"}]

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

логический
  • true
  • false
Печатать слип с 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

логический
  • true
  • false
Отображение 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.

  • No labels