Начиная с версии 4.6.171 в /etc/udev/rules.d/40_artix_lanit.rules добавлено правило для автоматического подключения пин-пада.
Модуль Ланит предназначен для выполнения оплаты платежными картами с использованием банковских терминалов и ПИН клавиатур. Оборудование предоставляется банками, которые используют данный процессинг.
Для корректной работы необходимо включить отображение диалогов на экране пин-пада.
Модуль представляет собой библиотеку и набор конфигурационных файлов, необходимых для обращения к процессинговому центру. При проведении оплаты платежной картой кассовая программа использует функции библиотеки. После завершения вызова кассовая программа анализирует результат выполнения и при необходимости печатает на чековой ленте содержимое квитанции.
Типы поддерживаемых операций:
- оплата,
- возврат,
- отмена оплаты или возврата,
- сверка итогов,
- печать копии слипа,
- печать краткого и полного отчета по безналу,
- проверка связи с пин-падом.
Отчет сверки продаж сохраняется в БД Documents таблицу Report в поле name с именем processing.totals.
Конфигурирование модуля
Для использования процессинга необходимо установить пакет 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.totals, журнал операций – processing.journal.
Логирование
Журнал вызовов клиентского приложения из кассовой программы ведется в /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.

