Назначение плагина
Плагин предназначен для интеграции с терминалами сбербанка через систему/утилиты sb_pilot для приёма оплаты через банковские карты на рабочих местах кассиров.
Структура и настройка плагина
Плагин, по большей части, работает на клиентской стороне. Взаимодействие с терминалами производится через утилиты и настройки сбербанка на компьютере, где установлен клиент биллинга (рабочее место кассира). Серверная часть плагина используется для ведения истории платежей. Работа осуществляется через обращение к утилите через командную строку. Путь до неё на текущем локальном компьютере и до файлов, которые она генерирует, прописываются в настройках. Основная конфигурация производится в файле настройки клиента биллинга (файл client[_ru_RU].properties):
# полный путь до утилиты sb_pilot (под linux или windows), который принимает параметры согласно протокола # или же любой бинарник/скрипт его заменяющий #sbpilot.path.bin=/home/bill/sb-pilot/sb_pilot #sbpilot.path.bin=C:\sb-pilot\SB_PILOT.EXE sbpilot.path.bin=/home/bill/sb-pilot/dowindow.sh # полные пути до файлов e и p, которые создаются утилитой (см.документацию по системе sb_pilot) sbpilot.path.e=/home/bill/sb-pilot/e sbpilot.path.p=/home/bill/sb-pilot/cheque.txt # коннектор к серверу печати, для печати чека sbpilot.cashcheckserver.connector=127.0.0.1:9876 # пароль оператора к устройству для печати текста sbpilot.cashcheckserver.oppass=30 # включить принудительную отрезку чека в конце sbpilot.cashcheckserver.endcut=1
Для распечатки чека используется сервер печати cashcheck. Необходимо установить и настроить его согласно инструкции, приведённой в соответствующем разделе.
Необходим лишь сервер печати — приложение BGCashcheckServer. Сам плагин cashcheck устанавливать не нужно, если вы не собираетесь использовать его функционал.
Настройка утилиты sb_pilot
Настройка утилиты производится сотрудниками сбербанка и в данном руководстве не рассматривается. Помимо настройки связи с банком необходимо уточнить в какие места и под каким именем сохраняются выходные файлы (см. настройку в клиенте). Также нужно попросить настроить ширину генерируемого чека в соответствии с шириной ленты в используемом вами принтере чека. Для Linux имена файлов обычно e и cheque.txt, для windows — e и p.
Донастройка в Linux
Используется консольная linux-версия утилиты. Для справки: в каталоге этой версии программы находятся файлы sb_pilot, config, upnixmn.out и прочие.
Необходимость донастройки заключается в том, что утилита работает в архаичной однобайтовой кодировке koi8-r. Потому для корректного отображения окна с приглашением ввода карты, меню и т.д. потребуется обернуть вызов утилиты в скрипт, который установит текущую локаль, шрифты, а также, при желании, размер окна, расположение, заголовок и т.п.. Предпочтительнее использовать именно скрипт вместо прописывания длинной строки запуска в параметре sbpilot.path.bin.
Скрипт можно написать совершенно любой под любой эмулятор терминала. Суть скрипта заключается в том, чтобы корректно отобразить на экране утилиту sb_pilot. Окно должно ожидать завершения каких-либо действий, а после завершения работы утилиты — закрываться. Также скрипт должен передавать не менее четырёх параметров утилите sb_pilot, т.е. необходимы переменные $1 $2 $3 $4 в командной строке утилиты.
В линуксе при использовании gnome-terminal скрипт dowindow.sh может иметь, например, такой вид:
#!/bin/sh export LANG=ru_RU.KOI8-R; gnome-terminal --disable-factory -e "/home/bill/sb-pilot/sb_pilot $1 $2 $3 $4" --hide-menubar -t "SB-Pilot" --working-directory=. --profile=sbpilot
В этом примере в профиле с названием sbpilot (см. настройки терминала) можно указать любые размеры и цвета окна терминала.
При использовании эмулятора терминала xterm:
#!/bin/sh export LANG=ru_RU.KOI8-R; export LC_ALL=ru_RU.KOI8-R; xterm -T SbPilot -fn -misc-*-*-*-*-*-13-*-*-*-*-*-koi8-r -e "/home/bill/sb-pilot/sb_pilot $1 $2 $3 $4"
В данном случае для отображения кириллических символов, псевдографики и т. д. в xterm в системе должны быть установлены соответствующие шрифты xorg-x11-fonts-misc , например, или/и xorg-x11-fonts-cyrillic или, возможно, пакеты с другим названием для вашей системы. Установка и настройка отображения кириллических koi8-r шрифтов в вашей системе выходит за рамки этого руководства.
Под эмулятор терминала kde не получилось написать корректный скрипт, выполняющий вышеобозначенные требования (при вызове из стороннего приложения окно закрывается сразу).
Донастройка в Windows
Используется консольная win32-версия (иногда она называется у сотрудников сбербанка почему-то DOS). Работа происходит через командную строку, аналогичную командной строке linux-версии. Для справки: в каталоге этой версии программы находятся файлы SB_PILOT.EXE, pinpad.ini, updoscf.exe и прочие. Некоторая настройка также необходима для указания рабочих каталогов. Файл dowindow.bat может выглядеть так:
start /d c:\dos /wait c:\dos\sb_pilot.exe %1 %2 %3 %4
, либо каким-то другим образом. При этом обратите внимание на корректное указание рабочего каталога утилиты, без этого она не будет корректно работать (ищет свои файлы около себя) и файлы выходные тоже потеряются (пишет тоже в рабочий каталог). Кодировка выходных файлов — cp866.
После этого не забудьте прописать в файле client.properties полные пути до файлов dowindow.bat, e, p.
Имеются данные, что конкретно эта утилита не работает корректно в 64-битной версии windows.