Начиная с версии 4.6.171 в /etc/udev/rules.d/40_artix_lanit.rules добавлено правило для автоматического подключения пин-пада.

Модуль Ланит предназначен для выполнения оплаты платежными картами с использованием банковских терминалов и ПИН клавиатур. Оборудование предоставляется банками, которые используют данный процессинг.

Для корректной работы необходимо включить отображение диалогов на экране пин-пада.

Модуль представляет собой библиотеку и набор конфигурационных файлов, необходимых для обращения к процессинговому центру. При проведении оплаты платежной картой кассовая программа использует функции библиотеки. После завершения вызова кассовая программа анализирует результат выполнения и при необходимости печатает на чековой ленте содержимое квитанции.

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

  • оплата,
  • возврат,
  • отмена оплаты или возврата,
  • сверка итогов,
  • печать копии слипа,
  • печать краткого и полного отчета по безналу,
  • проверка связи с пин-падом.

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

Для использования процессинга необходимо установить пакет 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].

СекцияНаименованиеТип данныхВозможные значенияОписаниеПримечания
maincashcodeстроковый
Номер кассыПо умолчанию 1
currencyстроковый
  • 643 (российский рубль)
  • 933 (белорусский рубль)
  • 398 (казахский тенге)
Код валютыПо умолчанию 643 (российский рубль)
setRRNInBackлогический
  • true
  • false
Флаг заполнения РРН при возвратеПо умолчанию true
regexPatternстроковый
Правило разбора введенного номера картыПо умолчанию (.{6})(.{6})(.*)
regexRuleстроковый
Правило преобразования введенного номера картыПо умолчанию \1******\3
serverhostстроковый

Адрес сервиса artix-lanit

По умолчанию 127.0.0.1

portцелочисленное
Порт сервиса artix-lanit

По умолчанию 58081

timeoutцелочисленное
Таймаут ожидания ответа от сервиса artix-lanit

По умолчанию 300

Пример настройки
[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).

Пример файла trhems.ini
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, учитываются все операции. После перезапуска кассы данные файла не меняются.

Логирование

Журнал вызовов клиентского приложения из кассовой программы ведется в /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.

  • No labels