Модуль Inpas предназначен для выполнения оплаты платежными картами с использованием банковских терминалов и ПИН клавиатур. Оборудование предоставляется банками, которые используют данный процессинг.
Модуль представляет собой библиотеку и набор конфигурационных файлов, необходимых для обращения к процессинговому центру. При проведении оплаты платежной картой кассовая программа использует функции библиотеки. После завершения вызова кассовая программа анализирует результат выполнения и при необходимости печатает на чековой ленте содержимое квитанции.
Типы поддерживаемых операций:
- оплата,
- возврат,
- отмена оплаты или возврата,
- сверка итогов,
- печать отчета,
- прерывание операции оплаты с кассы.
Конфигурирование модуля
Для использования модуля необходимо установить пакет artix45-plugin-inpas
. Вызов клиентского приложения выполняется при выборе специального типа оплаты. Для добавления типа оплаты необходимо выполнить конфигурирование модуля. Номер типа оплаты задается в процессе конфигурирования.
dpkg-reconfigure artix45-plugin-inpas
Окно выбора кода валюты, в котором нужно указать необходимый код:
После установки валюты она автоматически создается и настраивается необходимым образом. Данные о типе оплаты записываются в БД.
Файлы, необходимые для функционирования модуля, располагаются в директории /linuxcash/cash/paysystems/inpas
. Настройка подключения к терминалу производится в файле /linuxcash/cash/paysystems/inpas/inpas.cfg
в секции [Terminal]
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
DevName | строковый | Имя устройства, к которому подключен терминал | По умолчанию "/dev/ttyS4" |
Host | строковый | Адрес терминала | По умолчанию 127.0.0.1:27015 |
IpTimeout | целочисленный | Таймаут подключения (в миллисекундах) | По умолчанию 2000 |
TimeoutPacket | целочисленный | Таймаут модуля от старта операции (в миллисекундах) | По умолчанию |
BaudRate | целочисленный | Скорость порта | По умолчанию 115200 |
Id | строковый | Идентификатор терминала | По умолчанию "40000022" |
[Terminal] # Имя устройства к которому подключен терминал DevName="/dev/ttyS4" # Адрес терминала #Host=127.0.0.1:27015 # Таймаут подключения (мС) #IpTimeout=2000 # Таймаут модуля от старта операции (мС) #TimeoutPacket=45000 # Скорость порта BaudRate=115200 # Идентификатор терминала Id="40000022"
Настройка через порт COM/USB
Для подключения к терминалу через порт COM/USB необходимо в конфигурационном файле inpas.cfg
в секции [Terminal]
задать следующие настройки:
[Terminal] # Имя устройства к которому подключен терминал DevName="/dev/ttyS4" # Скорость порта BaudRate=115200; # Идентификатор терминала Id="40000022"
Настройка через Ethernet
Для подключения к терминалу через Ethernet необходимо в конфигурационном файле inpas.cfg
в секции [Terminal]
задать следующие настройки:
[Terminal] # Адрес терминала Host=127.0.0.1:27015 # Таймаут подключения IpTimeout=2000 # Идентификатор терминала Id="40000022"
Настройка Host имеет приоритет. Если в inpas.cfg заданы настройки Host и DevName, то терминал будет пытаться подключиться через Ethernet, настройка DevName будет игнорироваться.
Настройка процессинга Инпас
Параметры работы с банковским терминалом Инпас задаются в файле /linuxcash/cash/paysystems/inpas/artixinpas.conf
.
Секция | Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|---|
[Client] | encoding | строковый | Любые значения, поддерживаемые Qt:
| Кодировка слипов и сообщений, которые возвращаются библиотекой | |
[Client] | valutCode | целочисленный | Целочисленные значения | Код валюты | По умолчанию 643 . У некоторых клиентов используется 810 код (старый рубль) |
intervalBetweenOperations | целочисленный | Интервал ожидания между выполнением 2 операций (в секундах) | По умолчанию | ||
[ErrorCodes] | notEnoughtBalance | целочисленный | Код ошибки превышения остатка (на счете недостаточно средств) | Настройка не имеет значения по умолчанию. Для ее активации необходимо обязательно ее раскомментировать |
[Client] ;кодировка слипов и сообщений, которые возвращаются библиотекой ;возможны любые значения, поддерживаемые Qt - KOI8-R, Windows-1251, UTF-8 и т д ;encoding=Windows-1251 ; Код валюты. По-умолчанию 643. ; У некоторых клиентов используется 810 код (старый рубль). valutCode = 643 ; Интервал ожидания между выполнением 2 операций(в секундах). По умолчанию 2 секунды. intervalBetweenOperations = 2 [ErrorCodes] ; Код ошибки превышения остатка (на счете недостаточно средств) notEnoughtBalance = 76
Работа процессинга Инпас одновременно с несколькими пин-падами
Для настройки дополнительных пин-падов Инпас необходимо:
- Скопировать файлы из директории
/linuxcash/cash/paysystems/inpas
в новую директорию. - В созданном каталоге настроить пин-пад.
- Создать новую валюту с типом процессинга Инпас и указать в поле
payprocdir
путь до рабочей директории процессинга.
Использование одного терминала для нескольких организаций
Использование одного терминала для нескольких организаций необходимо в случаях, когда реализация товаров и услуг выполняется разными организациями.
Прочитать о настройке программы для оплаты несколькими юридическими лицами можно в статье "Банковские платежные системы".
Особенности использования терминала Инпас для нескольких юридических лиц:
- При возврате сторнировать операцию по безналу невозможно, на экране кассира будет выведена ошибка "Отмена оплаты не доступна".
- Сверка итогов по безналу и печать отчетов по безналу производится отдельно на каждое юридическое лицо.
Состояние счета
В модуле Inpas реализована возможность узнавать баланс на счете. Запросить баланс можно по кнопке в контексте главного меню, при формировании документа или в режиме подытога. Для проверки баланса счета в утилите администрирования Yuki необходимо на клавишу настроить действие "Состояние счета" с командой COMMAND_BANK_CARD_BALANCE
и параметром valutcode
, который соответствует коду валюты. В результате выполнения операции будет напечатан слип с информацией о состоянии счета.
Печать копии слипа
Для печати копии слипа в утилите администрирования Yuki необходимо на клавишу настроить действие "Печать копии чека" с командой COMMAND_EMV_PRINTSLIPCOPY
и параметром valutcode
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Отмена и возврат
При выполнении операций отмены или возврата кассовое ПО всегда направляет терминалу команду отмены. Если терминал находит операцию отмены в текущей смене, то в банковской системе выполняется операция отмены. В противном случае выполняется возврат.
Прерывание операции оплаты
В кассовом ПО Artix реализована возможность прерывания оплаты по кнопке в процессе оплаты, данная возможность регулируется параметром allowInterruptPayment
в конфигурационном файле /linuxcash/cash/paysystems/inpas/artixinpas.conf
в секции [Client
]. При оплате через процессинг Инпас:
- при значении параметра
true
на экране кассы будет отображена кнопка "Отмена", при нажатии на которую может быть выполнено прерывание оплаты, - при значении параметра
false
кнопка "Отмена" на экране кассы отображена не будет.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
allowInterruptPayment | логический |
| Разрешить прерывание оплаты (будет отображена кнопка "Отмена") | По умолчанию false |
[Client] ; Разрешить прерывание оплаты (будет отображена кнопка "Отмена") ; По умолчанию false ;allowInterruptPayment = false
Оплата по QR-коду через СБП
В кассовом ПО Artix реализована возможность оплаты через процессинг по QR-коду СБП на терминале.
Типы поддерживаемых операций:
- оплата,
- отмена оплаты для чека продажи,
- возврат по чеку продажи.
Убедитесь в том, что на терминале установлена прошивка, поддерживающая возможность оплаты по QR-коду.
Для возможности оплаты через процессинг Инпас по QR-коду СБП на терминале необходимо в БД Dictionaries
в таблице Valut
настроить дополнительную валюту с параметром mode=4096
.
Оплата по QR-коду покупателя
В кассовом ПО Artix реализована возможность оплаты в режиме "Consumer-Presented QR" через банковский терминал Инпас.
Для проведения оплаты необходимо сканирование QR-кода, полученного покупателем в клиентском приложении. QR-код рассчитан только на 1 платёж.
Для возможности оплаты по QR-коду покупателя необходимо в БД Dictionaries
в таблице Valut
настроить дополнительную валюту с параметром mode=
16384
.
Возможность сканирования QR-кода покупателя при отмене оплаты регулируется параметром scanTokenOnCancel
в конфигурационном файле /linuxcash/cash/paysystems/inpas/artixinpas.conf
в секции [Client]
:
- при значении
true
для отмены оплаты требуется сканирование QR-кода покупателя, - при значении
false
для отмены оплаты сканирование QR-кода покупателя не требуется.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
scanTokenOnCancel | логический |
| Сканировать QR-код при отмене оплаты в режиме "Customer-Presented QR" | По умолчанию Для корректной работы при |
[Client] ... ; Сканировать QR-код при отмене оплаты в режиме "Customer-Presented-QR" ; Для корректной работы с отключенным параметром должен быть включен режим "Подтверждения отмены без карты" ; В противном случае понадобится присутствие физической карты для отмены оплаты по QR-коду ; По умолчанию включено ;scanTokenOnCancel = true
Подключение терминала PAX S300 через USB
Для работы PAX S300 при подключении через USB необходимо:
- Включить режим CDC Mode:
- Дождаться загрузки:
- Зайти в меню терминала при помощи нажатия клавиши "2" и выбрать пункт System Config:
- Ввести пароль (по умолчанию для PAX S300 установлен пароль 123456). Далее выбрать пункт USB Device Mode:
- Выбрать пункт CDC Mode:
- Дождаться загрузки:
- Включить режим USB:
- Нажать одновременно зеленую клавишу и клавишу "9" (сочетания клавиш могут быть другими), далее выбрать пункт "Параметры":
- Зайти в меню "Редактирование":
- Зайти в меню SMARTSALE и выбрать "Порт терминала":
- Зайти в меню "Коммуникации" и выбрать пункт меню USB:
- Нажать одновременно зеленую клавишу и клавишу "9" (сочетания клавиш могут быть другими), далее выбрать пункт "Параметры":
- Далее необходимо выполнить конфигурирование модуля с параметром
DevName="/dev/ttyACM0"
, гдеACM0
– это название tty-устройства, к которому подключен терминал PAX S300. Подробнее о конфигурировании модуля можно прочитать в подразделе Конфигурирование модуля.
Логирование
Журнал вызовов клиентского приложения из кассовой программы ведется в основном логе кассовой программы /linuxcash/logs/current/terminal.log
. Для идентификации данных, записанных модулем Inpas, используется логгер с именем in
pas
. В журнал заносятся параметры вызова, результат выполнения и образ слипа, предназначенный для печати. Логи модуля artixinpas
пишутся в файл /linuxcash/logs/current/artixinpas.log
.