Реализованные сценарии работы:

  • динамический QR-код (QRDynamic),
  • работа с кассовой ссылкой СБП (QRVariable).

Начиная с версии 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-кода (в секундах)

По умолчанию 60 секунд.

Допустимые значения от 20 секунд до 259200 секунд (3-х дней).

waitPaymentByQRCodeDurationцелочисленныйВремя ожидания оплаты по QR-коду (в секундах)По умолчанию 60 секунд.
intervalBetweenStatusRequestsцелочисленныйИнтервал между запросами статуса оплаты по QR-коду (в секундах)По умолчанию 1 секунда.
getInfoDurationцелочисленныйПродолжительность выполнения запросов на получение информации по платежу или возврату (в секундах)По умолчанию 60 секунд.
getInfoFrequencyцелочисленныйИнтервал между запросами на получение информации по платежу или возврату (в секундах)По умолчанию 10 секунд.
additionalInfoMaskстроковыйМаска для поля дополнительной информацииПо умолчанию "%(document.shopCode[04d])/%(document.cashCode[02d])/%(document.shift[04d])/%(document.num[07d])".
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 = ""

Процессинг работает только в одном из режимов: QR-код либо статический, либо динамический. При переключении режимов не будет работать возврат по чеку продажи.

При оплате по QR-коду на сервер процессинга будет отправлен запрос, который содержит данные об оплате в json-формате "paymentDetails":"{\"identifier\":\"3478820800920000010\",\"sbpmerchantID\":\"MA0000039051\"}".

Печать 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

Логирование

Журнал запросов к процессинговой системе Raiffeisensbp ведется в основном логе /linuxcash/logs/current/terminal.log.

  • No labels