–
Начиная с версии 4.6.202 значение параметра url необходимо задавать в виде "https://<localhost>/api".
Модуль Raiffeisensbp предназначен для выполнения оплаты с помощью клиентского приложения. Покупателю необходимо отсканировать QR-код с экрана кассы или распечатанного слипа. QR-код рассчитан только на 1 платеж.
Типы поддерживаемых операций:
- оплата,
- отмена оплаты для чека продажи,
- возврат по чеку продажи.
Для оплаты чека продажи покупателю необходимо отсканировать QR-код.
В случае неполучения успешного статуса оплаты кассой или других ошибках оплаты в подытоге, кассой формируется команда на отмену данного платежа. Оплата в чек при этом не добавляется. При обработке команды отмены повторно проверяется статус оплаты, и если на момент повторной проверки транзакция оплаты завершена успешно (получен статус о проведении платежа), то кассой генерируется запрос на возврат.
Обращаем внимание на то, что команды на отмену и возврат платежа могут обрабатываться банком длительное время. По вопросам возврата денежных средств просим обращаться в банк.
Также стоит учитывать следующее:
1. Информация на смартфоне клиента не является фактом подтверждения платежа и может быть недействительной.
2. Подтверждением платежа является только получение ПО Artix информации об успешном прохождении оплаты.
Использование единой кассовой ссылки на нескольких кассах запрещено.
Конфигурирование модуля
Для использования модуля необходимо установить пакет artix-raiffeisensbp
.
aptitude install artix-raiffeisensbp
Запрос к процессинговой системе Raiffeisensbp выполняется при выборе специального типа оплаты. Для добавления типа оплаты необходимо выполнить конфигурирование модуля. Номер типа оплаты задается в процессе конфигурирования.
dpkg-reconfigure artix-raiffeisensbp
Настройки процессинга задаются в файле /linuxcash/cash/paysystems/raiffeisensbp/raiffeisensbp.conf
в секции [Main]
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
url | строковый | Адрес сервера | По умолчанию http://localhost . |
timeout | целочисленный | Время ожидания ответа от сервера (в секундах) | По умолчанию 10 секунд. |
sbpMerchantId | строковый | Идентификатор зарегистрированного партнера в СБП | |
secretKey | строковый | Секретный ключ для авторизации | |
currency | строковый | Валюта | По умолчанию RUB . |
qrCodeLifetime | целочисленный | Cрок действия QR-кода (в секундах) | По умолчанию Допустимые значения от 20 секунд до 259200 секунд (3-х дней). |
waitPaymentByQRCodeDuration | целочисленный | Время ожидания оплаты по QR-коду (в секундах) | По умолчанию 60 секунд. |
intervalBetweenStatusRequests | целочисленный | Интервал между запросами статуса оплаты по QR-коду (в секундах) | По умолчанию 1 секунда. |
getInfoDuration | целочисленный | Продолжительность выполнения запросов на получение информации по платежу или возврату (в секундах) | По умолчанию 60 секунд. |
getInfoFrequency | целочисленный | Интервал между запросами на получение информации по платежу или возврату (в секундах) | По умолчанию 10 секунд. |
additionalInfoMask | строковый | Маска для поля дополнительной информации | По умолчанию " Для сохранения сокращенного номера счета в документе продажи (поле opId в БД Documents таблице Document) дополнительно необходимо задать для параметра значение |
staticQrId | строковый | Идентификатор статического QR-кода | Необходимы для оплаты с использованием статического QR-кода (кассовой ссылки) |
staticQrPayload | строковый | Данные статического QR-кода для отображения на кассе |
[Main] ; Настройки процессинга Системы Быстрых Платежей (СБП) Райффайзен Банка ; Адрес сервера ; По умолчанию http://localhost ;url = http://localhost ; Время ожидания ответа от сервера (в секундах) ; По умолчанию 10 секунд ;timeout = 10 ; Идентификатор зарегистрированного партнёра в СБП ; По умолчанию "" ;sbpMerchantId = "" ; Секретный ключ для авторизации ; По умолчанию "" ;secretKey = "" ; Валюта ; По умолчанию "RUB" ;currency = "RUB" ; Cрок действия QR-кода в секундах ; Допустимые значения от 20 секунд до 259200 секунд (3-х дней) ; По умолчанию 60 секунд ;qrCodeLifetime = 60 ; Время ожидания оплаты по QR-коду (в секундах) ; По умолчанию 60 ;waitPaymentByQRCodeDuration = 60 ; Интервал между запросами статуса оплаты по QR-коду (в секундах) ; По умолчанию 1 ;intervalBetweenStatusRequests = 1 ; Продолжительность выполнения запросов на получение информации по платежу или возврату (в секундах) ; По умолчанию 60 ;getInfoDuration = 60 ; Интервал между запросами на получение информации по платежу или возврату (в секундах) ; По умолчанию 10 ;getInfoFrequency = 10 ; Маска для поля дополнительной информации ; По умолчанию %(document.shopCode[04d])/%(document.cashCode[02d])/%(document.shift[04d])/%(document.num[07d]) ;additionalInfoMask = "%(document.shopCode[04d])/%(document.cashCode[02d])/%(document.shift[04d])/%(document.num[07d])" ; Идентификатор статического QR-кода ;staticQrId = "" ; Данные статического QR-кода для отображения на кассе ;staticQrPayload = ""
Передача данных об оплате
В кассовом ПО реализована возможность разрешать передачу данных об оплате в поле paymentDetails
с помощью параметра fillPaymentDetails
в конфигурационном файле /linuxcash/cash/paysystems/raiffeisensbp/raiffeisensbp.conf
в секции [Main]
:
- при значении
true
на сервер процессинга будет отправлен запрос, который содержит данные об оплате в json-формате "paymentDetails":"{\"identifier\":\"3478820800920000010\",\"sbpmerchantID\":\"MA0000039051\"}
", - при значении
false
данные об оплате переданы не будут.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
fillPaymentDetails | логический |
| Заполнять поле paymentDetails | По умолчанию true |
[Main] ... ; Заполнять поле paymentDetails ; По умолчанию true ;fillPaymentDetails = true
При закрытии чека в БД Documents
таблицу Moneyitem
в поле additionaldata
записываются в json-формате идентификатор QR-кода оплаты и идентификатор зарегистрированного в СБП партнера.
Печать 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
Логирование
Журнал запросов к процессинговой системе Raiffeisensbp ведется в основном логе /linuxcash/logs/current/terminal.log
.