Начиная с версии 4.6.171 в /etc/udev/rules.d/
40_artix_lanit.rules
добавлено правило для автоматического подключения пин-пада.
Модуль Ланит предназначен для выполнения оплаты платежными картами с использованием банковских терминалов и ПИН клавиатур. Оборудование предоставляется банками, которые используют данный процессинг.
Для корректной работы необходимо включить отображение диалогов на экране пин-пада.
Модуль представляет собой библиотеку и набор конфигурационных файлов, необходимых для обращения к процессинговому центру. При проведении оплаты платежной картой кассовая программа использует функции библиотеки. После завершения вызова кассовая программа анализирует результат выполнения и при необходимости печатает на чековой ленте содержимое квитанции.
Типы поддерживаемых операций:
- оплата,
- возврат,
- отмена оплаты или возврата,
- сверка итогов,
- печать копии слипа,
- печать краткого и полного отчета по безналу,
- проверка связи с пин-падом.
Отчет сверки продаж сохраняется в БД Documents
таблицу Report
в поле name
с именем processing
.t
otals
.
Конфигурирование модуля
Для использования процессинга необходимо установить пакет artix-plugin-lanit
.
aptitude install artix-plugin-lanit
Вызов клиентского приложения выполняется при выборе специального типа оплаты. Для добавления типа оплаты необходимо выполнить конфигурирование модуля. Номер типа оплаты задается в процессе конфигурирования.
dpkg-reconfigure artix-plugin-lanit
Окно выбора кода валюты, в котором нужно указать необходимый код:
При конфигурировании модуля автоматически создается и настраивается необходимым образом новый тип оплаты. Данные о типе оплаты записываются в БД.
Настройка
Файлы, необходимые для функционирования модуля, находятся в директории /linuxcash/cash/paysystems/lanit/
. Модуль состоит из двух частей: библиотеки, которая предоставляется банком, и клиентского приложения (собственная разработка).
Конфигурационные параметры клиентского приложения хранятся в файле /linuxcash/cash/paysystems/lanit/artixlanit.conf
в секциях [main]
и [server]
.
Секция | Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|---|
main | cashcode | строковый | Номер кассы | По умолчанию 1 | |
currency | строковый |
| Код валюты | По умолчанию 643 (российский рубль) | |
setRRNInBack | логический |
| Флаг заполнения РРН при возврате | По умолчанию true | |
regexPattern | строковый | Правило разбора введенного номера карты | По умолчанию (.{6})(.{6})(.*) | ||
regexRule | строковый | Правило преобразования введенного номера карты | По умолчанию \1******\3 | ||
server | host | строковый | Адрес сервиса | По умолчанию | |
port | целочисленное | Порт сервиса artix-lanit | По умолчанию | ||
timeout | целочисленное | Таймаут ожидания ответа от сервиса artix-lanit | По умолчанию |
[main] ; Номер кассы ; По умолчанию 1 ;cashcode = 1 ; Код валюты ; По умолчанию 643 (российский рубль) ;currency = 643 ; Флаг заполнения РРН при возврате ; true - заполнять значение РРН, false - оставить РРН пустым ; По умолчанию true ;setRRNInBack = true ; Правило разбора введенного номера карты ; По умолчанию (.{6})(.{6})(.*) ;regexPattern = (.{6})(.{6})(.*) ; Правило преобразования введенного номера карты ; По умолчанию \1******\3 ;regexRule = \1******\3 [server] ; Адрес сервера процессинга lanit ; По умолчанию 127.0.0.1 ;host = 127.0.0.1 ; Порт сервера процессинга lanit ; По умолчанию 58081 ;port = 58081 ; Таймаут ожидания ответа от сервера(в секундах) ; По умолчанию 300 ;timeout = 300
Конфигурационный файл /linuxcash/cash/paysystems/lanit/trhems.ini
отвечает за подключение к пин-паду через последовательный интерфейс. Параметр com = 42
назначает порт, com = n
соответствует /dev/ttyS(n - 1)
.
server = 127.0.0.1; 20500; 0 DefHost = 127.0.0.1; 20500; 30 com = 42; 115200; 8n1; 41200; 200 DebugLevel = 0;
Правило для автоматического подключения пин-пада указано в /etc/udev/rules.d/40_artix_lanit.rules
:
SUBSYSTEMS=="usb", ACTION=="add" ATTRS{idVendor}=="079b", ATTRS{idProduct}=="0028", RUN+="/bin/bash /linuxcash/cash/paysystems/lanit/lanit_start.sh $env{DEVNAME}"
Согласно этому правилу при подключении пин-пада в директории /dev/
автоматически создается символьная ссылка, которая соответствует параметру com
в конфигурационном файле /linuxcash/cash/paysystems/lanit/trhems.ini
.
Для проверки факта создания символьной ссылки можно воспользоваться командой:
ls /dev/tty*
Схема работы
После установки пакета artix-plugin-lanit
в системе автоматически запускается сервис artix-lanit
, который представляет собой 32-х битный tcp-сервер для работы с процессингом и является посредником между банковской библиотекой trposx-gcc4.1
и клиентским приложением.
Выпуск новых версий 32-х битной библиотеки trposx-gcc4.1
прекращен. Использование существующей версии с установкой пакета на ОС Ubuntu 18.04 не гарантирует быстродействие и стабильность работы при отправке запроса оплаты на пин-пад.
Управление сервисом: запуск, остановка, перезапуск осуществляется командами:
service artix-lanit start service artix-lanit stop service artix-lanit restart
Проверить текущее состояние сервиса можно при помощи команды:
service artix-lanit status
При выполнении операции через процессинг Ланит будет отправлен запрос к сервису artix-lanit
, который после обработки запроса отправит пин-паду соответствующую команду. После выполнения команды пин-пад возвращает результат сервису artix-lanit
, который, в свою очередь, доставляет сообщение на кассу. При превышении времени ожидания ответа от сервиса, указанного в настройке timeout
, операция будет прервана.
Пример оплаты через процессинг Ланит:
Команды для работы с пин-падом
Для работы с пин-падом в утилите администрирования Yuki могут быть настроены пункты меню:
- печать краткого отчета по безналу с командой
COMMAND_EMV_PRINTSHORTREPORT
, - печать копии слипа с командой
COMMAND_EMV_PRINTSLIPCOPY
. При печати копии слипа будет выполнена печать последнего чека, - проверка связи с пин-падом с командой
COMMAND_EMV_TESTCONNECTION
.
Параметр valutcode
(код валюты) является обязательным для всех команд. Если параметр не указан, то при вызове команды на экран выводится предупреждение "Отсутствует обязательный параметр valutcode".
При работе с терминалом TR-POS номер операции сохраняется в файле /linuxcash/cash/paysystems/lanit/data/receipt
, учитываются все операции. После перезапуска кассы данные файла не меняются.
Печать отчета по безналу
Для возможности печати отчета по безналу на пин-паде Ланит необходимо в утилите администрирования Yuki на пункт меню настроить действие "Печать отчета по безналу" с командой COMMAND_EMV_PRINTREPORT
и параметром valutcode
с указанием кода валюты. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Сохранение сверки итогов по безналу возможно для процессинга только при включенной настройке saveTotalsReports
. Отчет сверки итогов по безналу сохраняется в БД Documents
таблицу Report
в поле name
с именем processing
.t
otals
.
Логирование
Журнал вызовов клиентского приложения из кассовой программы ведется в /linuxcash/cash/paysystems/lanit/trpos.log
. В журнал заносятся параметры вызова, результат выполнения и образ слипа, который предназначен для печати.
Уровень логирования настраивается в конфигурационном файле /linuxcash/cash/paysystems/lanit/setup.txt
параметром DebugLevel.
Наименование | Тип данных | Возможные значения | Описание |
---|---|---|---|
DebugLevel | целочисленный | 0 – логирование отключено 1 – FATAL – ошибки, приводящие к остановке TRPOSX 2 – ERROR – прочие ошибки 3 – WARN – предупреждения 4 – INFO – события, входные/выходные данные 5 – DEBUG – дампы обмена сообщениями 6 – TRACE – прочая отладочная информация | Уровень логирования |
Библиотекой создается /linuxcash/cash/paysystems/lanit/trhems.log
, уровень логирования которого задается в конфигурационном файле /linuxcash/cash/paysystems/lanit/trhems.ini
параметром DebugLevel
.
Журнал работы сервиса artix-lanit
ведется в /var/log/syslog
.