Начиная с версии 4.6.222 реализовано прерывание операции оплаты с кассы.
Для корректной работы функционала необходимо:
- клиентское приложение
sb_pilot
версии33.xx.xx
, - пин-пад с версией прошивки
33.xx.xx
.
Начиная с версии 4.6.237 реализована возможность оплаты по биометрии с использованием пин-пада WizarPOS.
Начиная с версии 4.6.239 реализована возможность задавать таймаут ожидания ответа от пин-пада при сверке итогов.
Начиная с версии 4.6.258 реализована возможность оплаты по биометрии с использованием пин-пада Kozen P12.
Для корректной работы необходимо:
- клиентское приложение
sb_pilot
версии33.25.xx
, - пин-пад с версией прошивки не ниже
33.25.xx
.
Модуль Сбербанк предназначен для выполнения оплаты платежными картами с использованием банковских терминалов и ПИН клавиатур, которые предоставлены Сбербанком России.
Модуль представляет собой клиентское приложение 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 при первоначальной установке пакета artix45-plugin-sb
файлы клиентского приложения автоматически помещаются в директорию /linuxcash/cash/paysystems/sb/
.
При необходимости выполнения операций, минуя кассовую программу, достаточно запустить скрипт 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, то биометрическая проверка держателя карты выполнялась с вводом дополнительного пароля. |
Сохранение номера терминала
В кассовом ПО Artix реализовано сохранение идентификатора номера терминала Сбербанк в БД Documents
таблицу Moneyitem
в поле terminalid
.
Логирование
Журнал вызовов клиентского приложения из кассовой программы ведется в основном логе кассовой программы /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
, то на данный порт создается ссылка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 реализована возможность оплаты по биометрии через процессинг Сбербанк с использованием пин-падов WizarPOS или Kozen.
Для возможности оплаты по биометрии необходимо в БД Dictionaries
в таблице Valut
настроить дополнительную валюту с параметром mode=32768
.
Для пин-пада WizarPOS необходимо выполнить дополнительную настройку:
Установить пакет
usbserial-wizarpos
(дополнительно к пакетуartix45-plugin-sb
):aptitude install usbserial-wizarpos
Создать символьную ссылку на порт, к которому подключен пин-пад, в директории процессинга Сбербанк:
ln -s /dev/ttyUSB0 /linuxcash/cash/paysystems/sb/ttyS99
Для пин-пада Kozen дополнительная настройка не требуется.
Возможные ошибки при оплате по б/н
На кассе
Для корректного функционирования модуля оплаты на кассе осуществляется проверка наличия файла sb_call.sh
и наличия прав на его исполнение. При невыполнении одного из условий на экран будет выведено соответствующее сообщение.
При корректном запуске скрипта sb_call.sh
вызывается файл клиентского приложения sb_pilot
. Выполняется проверка наличия файла и наличия прав на его исполнение.
При отсутствии файла
sb_pilot
или невозможности его исполнения на экран выдается сообщение "Ошибка чтения файла статуса операции".
На пин-паде
Если настроены диалоги на пин-паде, то файл sb_call.sh
не используется, вызывается файл sb_pilot
. При невыполнении одного из условий на экран будет выведено соответствующее сообщение.
При выведении ошибок на экран нужно проверить конфигурации модуля.