Начиная с версии 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"
TypeстроковыйТип терминала
Для терминалов без поддержки SOH запросов необходимо установить значение в "UniposDroid".

По умолчанию "UniposTerminal"

Пример настройки
[Terminal]

# Имя устройства к которому подключен терминал
DevName="/dev/ttyS4" 
 
# Адрес терминала
#Host=127.0.0.1:27015

# Таймаут подключения (мС)
#IpTimeout=2000

# Таймаут модуля от старта операции (мС)
#TimeoutPacket=45000

# Скорость порта
BaudRate=115200

# Идентификатор терминала
Id="40000022" 

# Тип терминала
Type="UniposTerminal"

Настройка через порт 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. О настройке действий подробнее можно прочитать в разделе "Настройка действий".

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

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

Прерывание операции оплаты

В кассовом ПО Artix реализована возможность прерывания оплаты по кнопке в процессе оплаты, данная возможность регулируется параметром allowInterruptPayment в конфигурационном файле /linuxcash/cash/paysystems/inpas/artixinpas.conf в секции [Client]. При оплате через процессинг Инпас:

  • при значении параметра true на экране кассы будет отображена кнопка "Отмена", при нажатии на которую может быть выполнено прерывание оплаты,
  • при значении параметра false кнопка "Отмена" на экране кассы отображена не будет.
НаименованиеТип данныхВозможные значенияОписаниеПримечания
allowInterruptPaymentлогический
  • true
  • false
Разрешить прерывание оплаты (будет отображена кнопка "Отмена")По умолчанию false
[Client]

; Разрешить прерывание оплаты (будет отображена кнопка "Отмена")
; По умолчанию false
;allowInterruptPayment = false

Оплата по 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