Модуль Sbersbp предназначен для выполнения оплаты с помощью клиентского приложения. Покупателю необходимо отсканировать QR-код с экрана кассы или распечатанного слипа. QR-код рассчитан только на 1 платёж
Типы поддерживаемых операций:
- оплата,
- отмена оплаты для чека продажи,
- возврат по чеку продажи.
Для оплаты чека продажи покупателю необходимо отсканировать QR-код и подтвердить оплату в клиентском приложении.
В случае неполучения успешного статуса оплаты кассой или других ошибках оплаты в подытоге, кассой формируется команда на отмену данного платежа. Оплата в чек при этом не добавляется. При обработке команды отмены повторно проверяется статус оплаты, и если на момент повторной проверки транзакция оплаты завершена успешно (получен статус о проведении платежа), то кассой генерируется запрос на возврат.
Обращаем внимание на то, что команды на отмену и возврат платежа могут обрабатываться банком длительное время. По вопросам возврата денежных средств просим обращаться в банк.
Также стоит учитывать следующее:
1. Информация на смартфоне клиента не является фактом подтверждения платежа и может быть недействительной.
2. Подтверждением платежа является только получение ПО Artix информации об успешном прохождении оплаты.
Конфигурирование модуля
Для использования модуля необходимо установить пакет artix-sbersbp
.
aptitude install artix-sbersbp
Запрос к процессинговой системе Sbersbp выполняется при выборе специального типа оплаты. Для добавления типа оплаты необходимо выполнить конфигурирование модуля. Номер типа оплаты задается в процессе конфигурирования.
dpkg-reconfigure artix-sbersbp
Настройки процессинга задаются в файле /linuxcash/cash/paysystems/sbersbp/sbersbp.conf
в секции [Main]
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
url | строковый | Адрес сервера | По умолчанию http://localhost |
timeout | целочисленный | Время ожидания ответа от сервера (в секундах) | По умолчанию 10 секунд |
clientId | строковый | clientId для подключения | |
clientSecret | строковый | clientSecret для подключения | |
memberId | строковый | Идентификатор клиента | |
tid | строковый | Идентификатор терминала | |
currency | строковый | Код валюты операции | По умолчанию 643 |
waitPaymentByQRCodeDuration | целочисленный | Время ожидания оплаты по QR-коду (в секундах) | По умолчанию 60 секунд |
intervalBetweenStatusRequests | целочисленный | Интервал между запросами статуса оплаты по QR-коду (в секундах) | По умолчанию 5 секунд |
getInfoDuration | целочисленный | Продолжительность выполнения запросов на получение информации по оплате заказа (в секундах) | По умолчанию 60 секунд |
getInfoFrequency | целочисленный | Интервал между запросами на получение информации по оплате заказа (в секундах) | По умолчанию 10 секунд |
specialSymbolsMask | строковый | Маска, задающая специальные символы для удаления из поля 'position_name' внутри тела запроса /creation | По умолчанию При значении по умолчанию из поля '
|
certificatePath | строковый | Путь к сертификату | |
certificatePassword | строковый | Пароль к сертификату |
[Main] ; Настройки процессинга Сбербанк СБП ; Адрес сервера ; По умолчанию http://localhost ;url = http://localhost ; Время ожидания ответа от сервера (в секундах) ; По умолчанию 10 секунд ;timeout = 10 ; clientId для подключения ; По умолчанию "" ;clientId = "" ; clientSecret для подключения ; По умолчанию "" ;clientSecret = "" ; Идентификатор клиента ; По умолчанию "" ;memberId = "" ; Идентификатор терминала ; По умолчанию "" ;tid = "" ; Код валюты операции ; По умолчанию 643 ;currency = 643 ; Время ожидания оплаты по QR-коду (в секундах) ; По умолчанию 60 ;waitPaymentByQRCodeDuration = 60 ; Интервал между запросами статуса оплаты по QR-коду (в секундах) ; По умолчанию 5 ;intervalBetweenStatusRequests = 5 ; Продолжительность выполнения запросов на получение информации по оплате заказа (в секундах) ; По умолчанию 60 ;getInfoDuration = 60 ; Интервал между запросами на получение информации по оплате заказа (в секундах) ; По умолчанию 10 ;getInfoFrequency = 10 ; Маска, задающая специальные символы для удаления из поля 'position_name' внутри тела запроса /creation ; По умолчанию "[^а-яА-Я\w\s]" ;specialSymbolsMask = "[^а-яА-Я\w\s]" ; Путь к сертификату ; По умолчанию "" ;certificatePath = "" ; Пароль к сертификату ; По умолчанию "" ;certificatePassword = ""
Печать 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
Логирование
Журнал запросов к процессинговой системе Sbersbp ведется в основном логе /linuxcash/logs/current/terminal.log
.