Модуль LPay предназначен для выполнения оплаты и возврата по чеку продажи через процессинг Loymax Loyalty Pay.

Типы поддерживаемых операций:

Конфигурирование модуля

Для использования модуля необходимо установить пакет artix-lpay командой:

aptitude install artix-lpay

Запрос к процессинговой системе L-Pay выполняется при выборе специального типа оплаты. Для добавления типа оплаты необходимо выполнить конфигурирование модуля. Номер типа оплаты задается в процессе конфигурирования.

dpkg-reconfigure artix-lpay

Настройки процессинга задаются в конфигурационном файле /linuxcash/cash/paysystem/lpay/lpay.ini в секции [Lpay].

НаименованиеТип данныхОписаниеПримечания
urlстроковыйАдрес сервераПо умолчанию "http://localhost"
timeoutцелочисленныйВремя ожидания ответа от сервера (в секундах)По умолчанию 10 секунд
statusRequestIntervalцелочисленныйИнтервал запроса статуса заказа (в секундах)По умолчанию 10 секунд
statusRequestDelayцелочисленныйОтсрочка перед первым запросом статуса заказа (в секундах)По умолчанию 5 секунд
refundDurationцелочисленныйВремя ожидания выполнения возврата (в секундах)По умолчанию 60 секунд
clientIdстроковыйИдентификатор клиента
loginстроковый

Имя пользователя


passwordстроковый

Пароль


deviceId

строковый

Идентификатор кассы


onlineCodeMask

строковый

Маска кода оплаты

По умолчанию "^lpay[0-9]?_(?<mark>[a-zA-Z0-9+/]{194,217}={0,2}?)_(?<card>[0-9a-zA-Z$]{4,30})$"
offlineCodeMaskстроковый

Маска кода офлайн-оплаты

По умолчанию "^lpay[0-9]?_(?<mark>[a-zA-Z0-9+/]{194,217}={0,2}\.)_(?<totp>[0-9]{6})_(?<card>[0-9a-zA-Z$]{4,30})$"


[LPay]
; Настройки процессинга LPay

; Адрес сервера
; По умолчанию http://localhost
;url = http://localhost

; Время ожидания ответа от сервера (в секундах)
; По умолчанию 10 секунд
;timeout = 10

; Интервал запроса статуса заказа (в секундах)
; По умолчанию 10 секунд
;statusRequestInterval = 10

; Отсрочка перед первым запросом статуса заказа (в секундах)
; По умолчанию 5 секунд
;statusRequestDelay = 5

; Время ожидания выполнения возврата (в секундах)
; По умолчанию 60
;refundDuration = 60

; Идентификатор клиента
; По умолчанию ""
;clientId = ""

; Имя пользователя
; По умолчанию ""
;login = ""

; Пароль
; По умолчанию ""
;password = ""

; Идентификатор кассы
; По умолчанию ""
;deviceId = ""

; Маска кода оплаты
; По умолчанию "^lpay[0-9]?_(?<mark>[a-zA-Z0-9+/]{194,217}={0,2}?)_(?<card>[0-9a-zA-Z$]{4,30})$"
;onlineCodeMask = "^lpay[0-9]?_(?<mark>[a-zA-Z0-9+/]{194,217}={0,2}?)_(?<card>[0-9a-zA-Z$]{4,30})$"

; Маска кода офлайн-оплаты
; По умолчанию "^lpay[0-9]?_(?<mark>[a-zA-Z0-9+/]{194,217}={0,2}\.)_(?<totp>[0-9]{6})_(?<card>[0-9a-zA-Z$]{4,30})$"
;offlineCodeMask = "^lpay[0-9]?_(?<mark>[a-zA-Z0-9+/]{194,217}={0,2}\.)_(?<totp>[0-9]{6})_(?<card>[0-9a-zA-Z$]{4,30})$"

Добавление карты лояльности

Для работы процессинга требуется наличие карты лояльности Loymax в чеке. Для использования карты с процессингом LPay необходимо:

  1. В утилите администрирования Yuki для группы карт с типом карты Loymax задать:

    Маски, заданные в утилите администрирования Yuki, должны совпадать с масками для кодов онлайн и офлайн оплат (см. параметры onlineCodeMask и offlineCodeMask).

  2. В утилите администрирования Yuki настроить действие с командой COMMAND_CARD.

    Для POS 5 необходимо указать параметр usePanelExtension со значением false.


Оплата чека продажи

Для выполнения оплаты необходимо в режиме формирования чека отсканировать код оплаты LPay из клиентского приложения. При сканировании кода оплаты будет добавлена карта лояльности Loymax.

При добавлении карты Loymax в чек выполняется проверка кода оплаты. Если сервер возвращает признак необходимости подтверждения, то для оплаты покупателю необходимо выполнить подтверждение оплаты в клиентском приложении.

Если код оплаты не прошел валидацию, то на экране кассы отобразится сообщение об ошибке. В этом случае карта лояльности добавится в чек, но оплата LPay будет недоступна. Для повторной проверки валидации необходимо сторнировать карту и отсканировать новый код оплаты из клиенсткого приложения.

Если при выполнении оплаты возникла ошибка, то запрос отмены оплаты помещается в очередь Artix-Queue.

Возврат по чеку продажи

Возврат выполняется по идентификатору оплаты paymentID, полученному при выполнении оплаты чека продажи. 

Логирование

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