Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Структура и настройка плагина

Плагин, Есть два режима работы терминала в плагине - на клиентской стороне и через сервер печати cashcheck.

Клиентский режим

В этом варианте плагин по большей части , работает на клиентской стороне. Взаимодействие с терминалами производится через утилиты и настройки сбербанка на компьютере, где установлен клиент биллинга (рабочее место кассира). Серверная часть плагина используется только для ведения истории платежей. Работа осуществляется через обращение к утилите через командную строку. Путь до неё на текущем локальном компьютере и до файлов, которые она генерирует, прописываются в настройках. Основная конфигурация производится в файле настройки клиента биллинга (файл файл client[_ru_RU].properties):

Блок кода
languageruby
linenumbersfalse
# полный путь до утилиты 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.path.e в случае другой версии утилиты, которая вместо файла e создаёт лог-файл sbkernel.log
# ещё следующая версия утилиты создавала файлы с ротацией sbkernelГГММ.log
sbpilot.path.e2=/home/bill/sb-pilot/sbkernel%YY%MM.log
# коннектор к серверу печати, для печати чека
sbpilot.cashcheckserver.connector=127.0.0.1:9876
# пароль оператора к устройству для печати текста
sbpilot.cashcheckserver.oppass=30
# включить принудительную отрезку чека в конце
sbpilot.cashcheckserver.endcut=1

 


# строка символов (в hex) которой в чеке отмечается момент реза (например, в пинпаде настройка PrinterEnd=01 или PrinterEnd=010D0A)
# т.к. эта последовательность должна быть и в конце, то в таком случае sbpilot.cashcheckserver.endcut надо отключить
sbpilot.cashcheckserver.charcut=0D0A01
# время в секундах, когда становится доступной кнопка "прервать утилиту"
sbpilot.abort.timeout=60
# время в секундах, когда диалог сам закрывается после успешной (!) оплаты, по умолчанию отключено
#sbpilot.success.close.timeout=60

Для распечатки чека используется сервер печати cashcheck. Необходимо установить и настроить его согласно инструкции, приведённой в соответствующем разделе.

Примечание

Необходим лишь сервер печати — приложение BGCashcheckServer. Сам плагин cashcheck устанавливать не нужно, если вы не собираетесь его использовать его функционал..

Режим сервера печати

В этом варианте пинпад настраивается не в клиенте, а в сервере печати cashcheck со специальным драйвером ru.bitel.frk.driver.sbpilot.Driver, все настройки в точности такие же, как для локального варианта (см. в конфиге сервера печати). Работа с пинпадом ведётся через сервер биллинга, который через сервер печати включает терминал, показывает диалог и т.д. Для доступа к серверу печати с драйвером sbpilot указывается коннектор в конфиге плагина:

Блок кода
languagejava
# коннектор до сервера печати с настроенным плагином sbpilot (НЕ до сервера печатающего чеки)

cashserver.1.title=первый терминал
cashserver.1.connector=127.0.0.1:9876

cashserver.2.title=второй терминал
cashserver.2.connector=127.0.0.1:9876

Обратите внимание, что в конфиге сервера печати (тот что с драйвером sbpilot) указывается коннектор на другой сервер печати (на другой машине или на другом порту), который печатает чеки (как и в клиентском варианте).

Поддерживается несколько терминалов, с выбором налету нужного в интерфейсе, выбор запоминается для каждого юзера отдельно (в серверной сессии).

Настройка утилиты sb_pilot

Настройка утилиты производится сотрудниками сбербанка и в данном руководстве не рассматривается. Помимо настройки связи с банком необходимо уточнить в какие места и под каким именем сохраняются выходные файлы (см. настройку в клиенте). Также нужно попросить настроить ширину генерируемого чека в соответствии с шириной ленты в используемом вами принтере чека. Для Linux имена файлов обычно обычно e и  и cheque.txt, для windows — e и  и p. Также есть версия утилиты, которая вместо файла e пишет лог операций в файл sbkernel.log.

Донастройка утилиты для биллинга заключается в том, чтобы вместить в один скрипт вызов утилиты с каким-то настройками окружения под каждую систему, и передать в утилиту переданные этому скрипту параметры (не менее четырёх). Скрипт должен запустить утилиту с параметрами, отобразить на экране в приличном виде, ожидать завершения утилиты, а после её завершения - закрыться (передать управление).

Примечание

Это распространённая ошибка: утилита корректно не запускается через этот скрипт,  либо запускается и сразу закрывается, либо запускается но пишет файлы не туда, либо что-то ещё подобное. Надо отдельно проверить запуск какой-либо командой с параметрами в виде вызова именно этого скрипта и убедиться, что она ведёт себя как надо.

Ниже приведены примеры (не стоит рассматривать их как конечные решения).

Донастройка в Linux

Используется консольная linux-версия утилиты. Для справки: в каталоге этой версии программы находятся файлы sb_pilot, config, upnixmn.out и прочие.

...

В этом примере в профиле с названием sbpilot (см. настройки терминала) можно указать любые размеры и цвета окна терминала. Новый gnome-terminal настраивается по-другому, есть проблемы с ожиданием запущенного в нём процесса.

При использовании эмулятора терминала xterm:

...

Под эмулятор терминала kde не получилось написать корректный скрипт, выполняющий вышеобозначенные требования (при вызове из стороннего приложения окно закрывается сразу). 

Донастройка в Windows

Используется консольная win32-версия (иногда она называется у сотрудников сбербанка почему-то DOS). Работа происходит через командную строку, аналогичную командной строке linux-версии. Для справки: в каталоге этой версии программы находятся файлы SB_PILOT.EXE, pinpad.ini, updoscf.exe и прочие. Некоторая настройка также необходима для указания рабочих каталогов. Файл Файл dowindow.bat может  может выглядеть так:

Блок кода
languageruby
linenumbersfalse
start /d c:\dos /wait c:\dos\sb_pilot.exe %1 %2 %3 %4

...

После этого не забудьте прописать в файле файле client.properties полные  полные пути до файлов dowindow.bat, e e, p p.

Имеются данные, что конкретно эта утилита не работает корректно в 64-битной версии windows.

...

При установке и активации плагина в диалоге добавления платежа появляется галка "принять оплату по карте".

Image RemovedImage Added

При попытке добавления платежа с установленной галочкой активируется диалог работы с утилитой и сама утилита.

Image RemovedImage Added

После завершения работы утилиты успешно или же с ошибкой диалог можно закрыть.

Image RemovedImage Added

На второй вкладке "Log" можно увидеть более подробную информацию о взаимодействии с утилитой. Если работа была завершена с ошибкой, то платёж не совершается и мы по-прежнему имеем дело с диалогом добавления платежа. Если оплата проведена успешно, то платёж совершается, диалог закрывается, в историю платежей заносится запись. В истории платежей (Плагины->SbPilot) также имеется возможность совершения дополнительных действий - отмены, повторы, некоторые отчёты итп.

Image RemovedImage Added

Также обратите внимание на одну особенность: если пользоваться распределением средств на зависимых договорах (т.е. одним платежом инициировать занесение в разные договоры), то в логе припишется только к одному из платежей, а оплата и чек пробьётся на всю сумму изначального платежа.