Модуль Сбербанк предназначен для выполнения оплаты платежными картами с использованием банковских терминалов и ПИН клавиатур, которые предоставлены Сбербанком России.
Функционал поддержан для кассового ПО Artix на базе Ubuntu 14.04 и 18.04.
Модуль представляет собой клиентское приложение 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
.
При необходимости выполнения операций, минуя кассовую программу, достаточно запустить скрипт sb_call.sh
с нужными параметрами. Данный скрипт вызывает клиентское приложение в специально подготовленном окружении для корректного отображения информации на экране.
.screenrc
.Параметры настройки для минивыписок (слипов) и кодовых страниц, в которых клиентское приложение возвращает результат, задаются в файле /linuxcash/cash/conf/artixsb.conf
в секции [main]
.
Параметры вызова клиентского приложения
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
encoding | строковый |
| Кодовая страница файлов с результатом вызова | По умолчанию koi8-r |
limit | числовой | Порог суммы оплаты, ниже которого печатается один слип (в копейках) | ||
dialogsOnPinpad | логический |
| Если установить параметр | По умолчанию Для взаимодействия с диалогом на кассе при помощи клавиатуры необходимо установить openbox. |
[main] encoding=koi8-r limit=0 ; Отображать диалоги на пинпаде ; В противном случаем диалоги будут отображаться на кассе ; По умолчанию - true ;dialogsOnPinpad = true
Логирование
Журнал вызовов клиентского приложения из кассовой программы ведется в основном логе кассовой программы /linuxcash/logs/current/terminal.log
. Для идентификации данных, записанных модулем Сбербанк, используется логгер с именем payment
. В журнал заносятся параметры вызова, результат выполнения и образ слипа, который предназначен для печати.
Настройка пинпада
Необходимо настроить параметры взаимодействия пинпада с ККМ
Интерфейс кассира на пинпаде
Печатать один образ чека с цифрой впереди
При успешной операции не ждать подтверждения от кассира
Настройка пинпада PAX SP30
ttypos
, который необходимо установить отдельно от пакета artix45-plugin-sb!
При установке пакета ttypos
создается директория /opt/ttyPos
, в которой хранятся конфигурационные файлы.
Параметры для подключения пинпада настраиваются в файле /opt/ttyPos/conf.ini.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
ttypos_port | строковый | Путь до пинпада | ||
com_port | строковый | COM-порт для работы с usb-устройством (ссылка на ttyPos-устройство) | После редактирования требуется либо переподключить usb-устройство, либо запустить скрипт /opt/ttyPos/setport.sh |
Использование одного терминала для нескольких организаций
Начиная с версии 4.6.94 для кассового ПО реализована возможность отправки единого запроса на оплату товара по нескольким юридическим лицам с использованием процессинга Сбербанк.
Использование одного терминала для нескольких организаций необходимо в случаях, когда реализация товаров и услуг выполняется разными организациями. Для реализации данного механизма, кассовая программа вызывает клиентское приложение sb_pilot
с дополнительным параметром - идентификатором организации, который соответствует коду отдела настроенного на пинпаде.
Указание номера отдела реализовано в sb_pilot версии 11.41.04 и выше.
Прочитать о настройке программы для оплаты несколькими юридическими лицами можно в статье "Банковские платежные системы".
Особенности использования терминала Сбербанк для нескольких юридических лиц:
- В чеке возврата и возврате по чеку продажи запрещено сторнировать операцию по безналу (согласно протоколу Сбербанка эта операция будет проводиться как оплата, что повлечет за собой снятие комиссии).
- Сверка итогов по безналу и печать отчетов по безналу всегда производится общая по всем отделам (ограничение протокола Сбербанка).
При возврате по безналу на одно юридическое лицо в рамках текущей банковской смены осуществляется отмена операции оплаты. Если настройками кассы предусмотрено распределение по отделам, то при возврате по безналу в рамках банковской смены выполняется операция возврата (требования процессинга, в отчетах она отражается как отмена).
После снятия отчета по безналу в другой кассовой смене возврат по безналу проходит запросом возврата.
Возможные ошибки при оплате по б/н
На кассе
Для корректного функционирования модуля оплаты на кассе осуществляется проверка наличия файла sb_call.sh
и наличия прав на его исполнение. При невыполнении одного из условий на экран будет выведено соответствующее сообщение.
При корректном запуске скрипта sb_call.sh
вызывается файл клиентского приложения sb_pilot
. Выполняется проверка наличия файла и наличие прав на его исполнение.
При отсутствии файла sb_pilot
или невозможности его исполнения на экран выдается сообщение "Ошибка чтения файла статуса операции".
На пинпаде
Если настроены диалоги на пинпаде, то файл sb_call.sh
не используется, вызывается файл sb_pilot
. При невыполнении одного из условий на экран будет выведено соответствующее сообщение.
При выведении ошибок на экран нужно проверить конфигурации модуля.