Начиная с версии 4.6.222 реализовано прерывание операции оплаты с кассы. Для корректной работы функционала необходимо:
|
Начиная с версии 4.6.237 реализована оплата по биометрии через процессинг Сбербанк. Начиная с версии 4.6.239 реализована возможность задавать таймаут ожидания ответа от пин-пада при сверке итогов. |
Модуль Сбербанк предназначен для выполнения оплаты платежными картами с использованием банковских терминалов и ПИН клавиатур, которые предоставлены Сбербанком России.
Модуль представляет собой клиентское приложение sb_pilot
и набор файлов и библиотек, необходимых для обращения к процессинговому центру. При проведении оплаты платежной картой кассовая программа вызывает клиентское приложение sb_pilot
. Параметрами для этого приложения передаются:
Для корректной работы необходимо настроить отображение диалогов на экране пин-пада. |
После завершения работы приложения, создаются файлы с результатом выполнения операции (файл e
) и образом квитанции, которую необходимо распечатать (файл p
). Кассовая программа анализирует результат выполнения и при необходимости печатает на чековой ленте содержимое печатного образа.
Типы поддерживаемых операций:
Запрещена отмена оплаты чека возврата или возврата по чеку продажи. При попытке совершить операцию на экран будет выведена ошибка "Отмена оплаты недоступна". |
Для использования модуля необходимо установить пакет artix45-plugin-sb
.
aptitude install artix45-plugin-sb |
Вызов клиентского приложения выполняется при выборе специального типа оплаты. Для добавления типа оплаты необходимо выполнить конфигурирование модуля. Номер типа оплаты задается в процессе конфигурирования.
dpkg-reconfigure artix45-plugin-sb |
Файлы, необходимые для функционирования модуля, располагаются в директории /linuxcash/cash/paysystems/sb
.
Файл | Описание |
---|---|
sb_call.sh | Скрипт для вызова клиентского приложения |
sb_pilot | Клиентское приложение, которое отвечает за обращение к процессинговому центру |
.screenrc | Настройки для корректного отображения информации на экране при запуске клиентского приложения через sb_call.sh |
ttyS99 | Символьная ссылка на файл устройства (необходима при подключении через USB) |
Файлы клиентского приложения предоставляются сотрудниками банка. Одна из версий приложения включена в состав пакета, ее файлы располагаются в директории /linuxcash/cash/paysystems/sb/files
. Для использования данной версии приложения файлы необходимо скопировать в директорию /linuxcash/cash/paysystems/sb/
.
Начиная с версии 4.6.193 при первоначальной установке пакета |
При необходимости выполнения операций, минуя кассовую программу, достаточно запустить скрипт sb_call.sh
с нужными параметрами. Данный скрипт вызывает клиентское приложение в специально подготовленном окружении для корректного отображения информации на экране.
Если на экране отображается нечитаемый текст, нужно проверить кодовую страницу, которая указана в настройках терминала и файле .screenrc . |
Параметры вызова клиентского приложения задаются в конфигурационном файле /linuxcash/cash/conf/artixsb.conf
в секции [main]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
encoding | строковый |
| Кодовая страница файлов с результатом вызова | По умолчанию koi8-r |
limit | числовой | Порог суммы оплаты, ниже которого печатается один слип (в копейках) | ||
dialogsOnPinpad | логический |
| Если установить параметр | По умолчанию Для взаимодействия с диалогом на кассе при помощи клавиатуры необходимо установить |
timeout | числовой | Время ожидания ответа от пин-пада в секундах | По умолчанию 300 |
[main] encoding=koi8-r limit=0 ; Отображать диалоги на пин-паде ; В противном случае диалоги будут отображаться на кассе ; По умолчанию true ;dialogsOnPinpad = true ; Время ожидания ответа от пин-пада в секундах ; по умолчанию 300 ;timeout = 300 ... |
В кассовом ПО реализована возможность задавать таймаут ожидания ответа от пин-пада при сверке итогов с помощью параметра totalsTimeout
. При значении по умолчанию (-1
) будет применено значение параметра timeout
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
totalsTimeout | числовой | Время ожидания ответа от пин-пада при сверке итогов в секундах | По умолчанию -1 |
[main] ... ; Время ожидания ответа от пин-пада при сверке итогов в секундах ; Если выставлено значение -1, то используется значение настройки timeout ; по умолчанию -1 ;totalsTimeout = -1 |
В кассовом ПО реализовано сохранение способа чтения номера карты и флагов операции при оплате через процессинг Сбербанк с использованием клиентского приложения sb_pilot
. В БД Documents
таблицу Moneyitem
в поле additionaldata
записывается json-объект с полями:
cardEntryMode
– способ чтения номера карты,operationFlags
– флаги операции.{"cardEntryMode":"E","operationFlags":"00010000"} |
Поле | Описание | Возможные значения |
---|---|---|
cardEntryMode | Способ чтения номера карты |
Кроме символа P, при операции по биометрии может использоваться сочетание способа ввода M и бита TRF_BIO. Параметр имеет смысл только при платежных операциях. При служебных операциях может принимать любое односимвольное значение. |
operationFlags | Флаги операции | Маска 0x00000007 (три младших бита младшего байта) содержит описание способа чтения карты:
Маска 0x00008000 (TRF_BIO) – биоверификация держателя карты, Маска 0x00010000 (TRF_PIN_ONLINE) – введен online pin, Маска 0x00020000 (TRF_PIN_OFFLINE) – введен offline pin, Маска 0x00040000 (TRF_NO_CVM) – без верификации держателя карты. Если установлен бит TRF_PIN_OFFLINE и способ чтения TRFE_VIVO_MS или TRFE_VIVO_EMV, то верификация выполнена на устройстве клиента (например ApplePay, GooglePay) Если установлены биты TRF_PIN_ONLINE и TRF_BIO, то биометрическая проверка держателя карты выполнялась с вводом дополнительного пароля. |
Журнал вызовов клиентского приложения из кассовой программы ведется в основном логе кассовой программы /linuxcash/logs/current/terminal.log
. Для идентификации данных, записанных модулем Сбербанк, используется логгер с именем payment
. В журнал заносятся параметры вызова, результат выполнения и образ слипа, который предназначен для печати.
Необходимо настроить параметры взаимодействия пин-пада с ККМ:
интерфейс кассира на пин-паде,
печатать один образ чека с цифрой впереди,
при успешной операции не ждать подтверждения от кассира.
Терминалы PAX SP30 для оплаты по безналичному расчету через модуль Сбербанка используют пакет ttypos , который необходимо установить отдельно от пакета artix45-plugin-sb . |
При установке пакета ttypos
создается директория /opt/ttyPos
, в которой хранятся конфигурационные файлы.
Символьная ссылка на файл устройства может создаваться двумя способами:
Пакет ttypos
содержит драйвер (модуль ядра) для PAX SP30, который создает в системе последовательный порт ttyPos0
. Чтобы заработал пин-пад, необходимо создать ссылку на порт, созданный драйвером, в директории процессинга Cбербанк:
ln -s /dev/ttyPos0 /linuxcash/cash/paysystems/sb/ttyS99 |
С помощью параметров для подключения пин-пада, которые настраиваются в файле /opt/ttyPos/conf.ini
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
ttypos_port | строковый | Наименование порта, созданного драйвером | Если указана настройка |
com_port | строковый | Наименование ссылки, создание которой запускает скрипт /opt/ttyPos/setport.sh при подключении устройства |
; ttyPos-устройство ttypos_port="/dev/ttyPos0" ; COM-порт для работы с usb-устройством (ссылка на ttyPos-устройство) com_port="/dev/ttyS99" |
Использование одного терминала для нескольких организаций необходимо в случаях, когда реализация товаров и услуг выполняется разными организациями. Для реализации данного механизма, кассовая программа вызывает клиентское приложение sb_pilot
с дополнительным параметром - идентификатором организации, который соответствует коду отдела настроенного на пин-паде.
Указание номера отдела реализовано в sb_pilot версии 11.41.04 и выше. |
Прочитать о настройке программы для оплаты несколькими юридическими лицами можно в статье "Банковские платежные системы".
Особенности использования терминала Сбербанк для нескольких юридических лиц:
При возврате по безналу на одно юридическое лицо в рамках текущей банковской смены осуществляется отмена операции оплаты. Если настройками кассы предусмотрено распределение по отделам, то при возврате по безналу в рамках банковской смены выполняется операция возврата (требования процессинга, в отчетах она отражается как отмена).
После снятия отчета по безналу в другой кассовой смене возврат по безналу проходит запросом возврата.
В кассовом ПО Artix реализована возможность оплаты по биометрии через процессинг Сбербанк.
Для возможности оплаты по биометрии необходимо:
Dictionaries
в таблице Valut
настроить дополнительную валюту с параметром mode=32768
.Установить пакет usbserial-wizarpos
(дополнительно к пакету artix45-plugin-sb
):
aptitude install usbserial-wizarpos |
Создать символьную ссылку на порт, к которому подключен пин-пад, в директории процессинга Сбербанк:
ln -s /dev/ttyUSB0 /linuxcash/cash/paysystems/sb/ttyS99 |
Для корректного функционирования модуля оплаты на кассе осуществляется проверка наличия файла sb_call.sh
и наличия прав на его исполнение. При невыполнении одного из условий на экран будет выведено соответствующее сообщение.
При корректном запуске скрипта sb_call.sh
вызывается файл клиентского приложения sb_pilot
. Выполняется проверка наличия файла и наличие прав на его исполнение.
При отсутствии файла sb_pilot
или невозможности его исполнения на экран выдается сообщение "Ошибка чтения файла статуса операции".
Если настроены диалоги на пин-паде, то файл sb_call.sh
не используется, вызывается файл sb_pilot
. При невыполнении одного из условий на экран будет выведено соответствующее сообщение.
При выведении ошибок на экран нужно проверить конфигурации модуля. |