Начиная с версии 4.6.235 реализовано прерывание операции оплаты с кассы. 

Модуль 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целочисленныйТаймаут модуля от старта операции (в миллисекундах)

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

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:

  • KOI8-R,
  • Windows-1251,
  • UTF-8 и т.д.
Кодировка слипов и сообщений, которые возвращаются библиотекой
[Client]

valutCode

целочисленный

Целочисленные значения

Код валюты

По умолчанию 643. У некоторых клиентов используется 810 код (старый рубль)

intervalBetweenOperations

целочисленный

Интервал ожидания между выполнением 2 операций (в секундах)

По умолчанию 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

Работа процессинга Инпас одновременно с несколькими пин-падами

Для настройки дополнительных пин-падов Инпас необходимо:

  1. Скопировать файлы из директории /linuxcash/cash/paysystems/inpas в новую директорию.
  2. В созданном каталоге настроить пин-пад.
  3. Создать новую валюту с типом процессинга Инпас и указать в поле payprocdir путь до рабочей директории процессинга.

Использование одного терминала для нескольких организаций

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

Прочитать о настройке программы для оплаты несколькими юридическими лицами можно в статье "Банковские платежные системы".

Особенности использования терминала Инпас для нескольких юридических лиц:

  • При возврате сторнировать операцию по безналу невозможно, на экране кассира будет выведена ошибка "Отмена оплаты не доступна".
  • Сверка итогов по безналу и печать отчетов по безналу производится отдельно на каждое юридическое лицо.

Состояние счета

В модуле Inpas реализована возможность узнавать баланс на счете. Запросить баланс можно по кнопке в контексте главного меню, при формировании документа или в режиме подытога. Для проверки баланса счета в утилите администрирования Yuki необходимо на клавишу настроить действие "Состояние счета" с командой COMMAND_BANK_CARD_BALANCE и параметром valutcode, который соответствует коду валюты. В результате выполнения операции будет напечатан слип с информацией о состоянии счета.

Печать копии слипа

Для печати копии слипа в утилите администрирования Yuki необходимо на клавишу настроить действие "Печать копии чека" с командой COMMAND_EMV_PRINTSLIPCOPY и параметром valutcode. О настройке действий подробнее можно прочитать в разделе "Настройка действий".

Отмена и возврат

При выполнении операций отмены или возврата кассовое ПО всегда направляет терминалу команду отмены. Если терминал находит операцию отмены в текущей смене, то в банковской системе выполняется операция отмены. В противном случае выполняется возврат.

Оплата по QR-коду через СБП

Для кассового ПО Artix на базе Ubuntu 22.04 функционал не поддержан.

В кассовом ПО Artix реализована возможность оплаты через процессинг по QR-коду СБП на терминале.

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

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

Убедитесь в том, что на терминале установлена прошивка, поддерживающая возможность оплаты по QR-коду.

Для возможности оплаты через процессинг Инпас по QR-коду СБП на терминале необходимо в БД Dictionaries в таблице Valut настроить дополнительную валюту с параметром mode=4096.

Оплата по QR-коду покупателя

В кассовом ПО Artix реализована возможность оплаты в режиме "Consumer-Presented QR" через банковский терминал Инпас.

Для проведения оплаты необходимо сканирование QR-кода, полученного покупателем в клиентском приложении. QR-код рассчитан только на 1 платёж.

Убедитесь, что на терминале установлена прошивка, поддерживающая возможность оплаты по QR-коду покупателя.

Для возможности оплаты по QR-коду покупателя необходимо в БД Dictionaries в таблице Valut настроить дополнительную валюту с параметром mode=16384.

Возможность сканирования QR-кода покупателя при отмене оплаты регулируется параметром scanTokenOnCancel в конфигурационном файле /linuxcash/cash/paysystems/inpas/artixinpas.conf в секции [Client]:

  • при значении true для отмены оплаты требуется сканирование QR-кода покупателя,
  • при значении false для отмены оплаты сканирование QR-кода покупателя не требуется.
НаименованиеТип данныхВозможные значенияОписаниеПримечания

scanTokenOnCancel

логический
  • true
  • false
Сканировать QR-код при отмене оплаты в режиме "Customer-Presented QR"

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

Для корректной работы при scanTokenOnCancel = false на терминале должен быть включен режим "Подтверждение отмены без карты". В противном случае для отмены оплаты по QR-коду потребуется предъявить физическую карту.

Пример настройки
[Client]
...
; Сканировать QR-код при отмене оплаты в режиме "Customer-Presented-QR"
; Для корректной работы с отключенным параметром должен быть включен режим "Подтверждения отмены без карты"
; В противном случае понадобится присутствие физической карты для отмены оплаты по QR-коду
; По умолчанию включено
;scanTokenOnCancel = true

Подключение терминала PAX S300 через USB

Для работы PAX S300 при подключении через USB необходимо:

  1. Включить режим CDC Mode:
    1. Дождаться загрузки:
    2. Зайти в меню терминала при помощи нажатия клавиши "2" и выбрать пункт System Config:
    3. Ввести пароль (по умолчанию для PAX S300 установлен пароль 123456). Далее выбрать пункт USB Device Mode:
    4. Выбрать пункт CDC Mode:
  2. Включить режим USB:
    1. Нажать одновременно зеленую клавишу и клавишу "9" (сочетания клавиш могут быть другими), далее выбрать пункт "Параметры":
    2. Зайти в меню "Редактирование":
    3. Зайти в меню SMARTSALE и выбрать "Порт терминала":
    4. Зайти в меню "Коммуникации" и выбрать пункт меню USB:
  3. Далее необходимо выполнить конфигурирование модуля с параметром DevName="/dev/ttyACM0", где ACM0 – это название tty-устройства, к которому подключен терминал PAX S300. Подробнее о конфигурировании модуля можно прочитать в подразделе Конфигурирование модуля.

Логирование

Журнал вызовов клиентского приложения из кассовой программы ведется в основном логе кассовой программы /linuxcash/logs/current/terminal.log. Для идентификации данных, записанных модулем Inpas, используется логгер с именем inpas. В журнал заносятся параметры вызова, результат выполнения и образ слипа, предназначенный для печати. Логи модуля artixinpas пишутся в файл /linuxcash/logs/current/artixinpas.log.

  • No labels