Sb pilot коды ошибок

Код ошибки;Возможная причина 12;»Ошибка возникает обычно в ДОС-версиях. Возможных причин две: 1. В настройках указан неверный тип пинпада. Должно быть РС-2, а указано РС-3. 2. Если ошибка возникает неустойчиво, то скорее всего виноват СОМ-порт. Он или нестандартный, или неисправный. Попробовать перенести пинпад на другой порт, а лучше – на USB.» 99;Нарушился контакт с пинпадом, либо невозможно открыть указанный СОМ-порт (он или отсутствует в системе, или захвачен другой программой). 361, 362, 363, 364;Нарушился контакт с чипом карты. Чип не читается. Попробовать вставить другую карту. Если ошибка возникает на всех картах – неисправен чиповый ридер пинпада. 403;Клиент ошибся при вводе ПИНа (СБЕРКАРТ) 405;ПИН клиента заблокирован (СБЕРКАРТ) 444, 507;Истек срок действия карты (СБЕРКАРТ) 518;На терминале установлена неверная дата 521;На карте недостаточно средств (СБЕРКАРТ) 572;Истек срок действия карты (СБЕРКАРТ) 574, 579;Карта заблокирована (СБЕРКАРТ) 584, 585;Истек период обслуживания карты (СБЕРКАРТ) 705, 706, 707;Карта заблокирована (СБЕРКАРТ) 708, 709;ПИН клиента заблокирован (СБЕРКАРТ) 2000;Операция прервана нажатием клавиши ОТМЕНА. Другая возможная причина – не проведена предварительная сверка итогов, и на терминале еще нет сеансовых ключей. 2002;Клиент слишком долго вводит ПИН. Истек таймаут. 2004, 2005, 2006, 2007, 2405, 2406, 2407;Карта заблокирована (СБЕРКАРТ) 3001;Недостаточно средств для загрузки на карту (СБЕРКАРТ) 3002;По карте клиента числится прерванная загрузка средств (СБЕРКАРТ) 3019, 3020, 3021;На сервере проводятся регламентные работы (СБЕРКАРТ) 4100;Нет связи с банком при удаленной загрузке. Возможно, на терминале неверно задан параметр «Код региона и участника для удаленной загрузки». 4101, 4102;Карта терминала не проинкассирована 4103, 4104;Ошибка обмена с чипом карты 4108;Неправильно введен или прочитан номер карты (ошибка контрольного разряда) 4110, 4111, 4112;Требуется проинкассировать карту терминала (СБЕРКАРТ) 4113, 4114;Превышен лимит, допустимый без связи с банком (СБЕРКАРТ) 4115;Ручной ввод для таких карт запрещен 4116;Введены неверные 4 последних цифры номера карты 4117;Клиент отказался от ввода ПИНа 4119;»Нет связи с банком. Другая возможная причина – неверный ключ KLK для пинпада Verifone pp1000se или встроенного пинпада Verifone. Если терминал Verifone работает по Ethernet, то иногда избавиться от ошибки можно, понизив скорость порта с 115200 до 57600 бод.» 4120;В пинпаде нет ключа KLK. 4121;Ошибка файловой структуры терминала. Невозможно записать файл BTCH.D. 4122;Ошибка смены ключей: либо на хосте нет нужного KLK, либо в настройках терминала указан неверный мерчант. 4123;На терминале нет сеансовых ключей 4124;На терминале нет мастер-ключей 4125;На карте есть чип, а прочитана была магнитная полоса 4128;Неверный МАС — код при сверке итогов. Вероятно, неверный ключ KLK. 4130;Память терминала заполнена. Пора делать сверку итогов (лучше несколько раз подряд, чтобы почистить старые отчеты). 4131;Установлен тип пинпада РС-2, но с момента последней прогрузки параметров пинпад был заменен (изменился его серийный номер). Необходимо повторно прогрузить TLV-файл или выполнить удаленную загрузку. 4132;Операция отклонена картой. Возможно, карту вытащили из чипового ридера до завершения печати чека. Повторить операцию заново. Если ошибка возникает постоянно, возможно, карта неисправна. 4134;Слишком долго не выполнялась сверка итогов на терминале (прошло более 5 дней с момента последней операции). 4135;Нет SAM-карты для выбранного отдела (СБЕРКАРТ) 4136;Требуется более свежая версия прошивки в пинпаде. 4137;Ошибка при повторном вводе нового ПИНа. 4138;Номер карты получателя не может совпадать с номером карты отправителя. 4139;В настройках терминала нет ни одного варианта связи, пригодного для требуемой операции. 4140;Неверно указаны сумма или код авторизации в команде SUSPEND из кассовой программы. 4141;Невозможно выполнить команду SUSPEND: не найден файл SHCN.D. 4142;Не удалось выполнить команду ROLLBACK из кассовой прграммы. 4143;На терминале слишком старый стоп-лист. 4144, 4145, 4146, 4147;Неверный формат стоп-листа на терминале (для торговли в самолете без авторизации). 4148;Карта в стоп-листе. 4149;На карте нет фамилии держателя. 4150;Превышен лимит, допустимый без связи с банком (для торговли на борту самолета без авторизации). 4151;Истек срок действия карты (для торговли на борту самолета без авторизации). 4152;На карте нет списка транзакций (ПРО100). 4153;Список транзакций на карте имеет неизвестный формат (ПРО100). 4154;Невозможно распечатать список транзакций карты, потому что его можно считать только с чипа, а прочитана магнитная полоса (ПРО100). 4155;Список транзакций пуст (ПРО100). 4160;Неверный ответ от карты при считывании биометрических данных 4161;На терминале нет файла с биометрическим сертификатом BSCP.CR 4162, 4163, 4164;Ошибка расшифровки биометрического сертификата карты. Возможно, неверный файл BSCP.CR 4165, 4166, 4167;Ошибка взаимной аутентификации биосканера и карты. Возможно, неверный файл BSCP.CR 4168, 4169;Ошибка расшифровки шаблонов пальцев, считанных с карты. 4171;В ответе хоста на запрос enrollment’a нет биометрической криптограммы. 4202;Сбой при удаленной загрузке: неверное смещение в данных. 4203;Не указанный или неверный код активации при удаленной загрузке. 4208;Ошибка удаленной загрузки: на сервере не активирован какой-либо шаблон для данного терминала. 4209;Ошибка удаленной загрузки: на сервере проблемы с доступом к БД. 4211;На терминале нет EMV-ключа с номером 62 (он нужен для удаленной загрузки). 4300;Недостаточно параметров при запуске модуля sb_pilot. В командной строке указаны не все требуемые параметры. 4301;Кассовая программа передала в UPOS недопустимый тип операции 4302;Кассовая программа передала в UPOS недопустимый тип карты 4303;Тип карты, переданный из кассовой программы, не значится в настройках UPOS. Возможно, на диске кассы имеется несколько каталогов с библиотекой UPOS. Банковский инженер настраивал один экземпляр, а кассовая программа обращается к другому, где никаких настроек (а значит, и типов карт) нет. 4305;Ошибка инициализации библиотеки sb_kernel.dll. Кассовая программа ожидает библиотеку с более свежей версией. 4306;»Библиотека sb_kernel.dll не была инициализирована. Эта ошибка может разово возникать после обновления библиотеки через удаленную загрузку. Нужно просто повторить операцию.» 4308;В старых версиях этим кодом обозначалась любая из проблем, которые сейчас обозначаются кодами 4331-4342 4309;Печатать нечего. Эта ошибка возникает в интегрированных решениях, которые выполнены не вполне корректно: в случае любой ошибки (нет связи, ПИН неверен, неверный ключ KLK и т.д.) кассовая программа все равно запрашивает у библиотеки sb_kernel.dll образ чека для печати. Поскольку по умолчанию библиотека при отказах чек не формирует, то на запрос чека она возвращает кассовой программе код 4309 – печатать нечего, нет документа для печати. Исходный код ошибки (тот, который обозначает причину отказа) кассовая программа при этом забывает. 4310;Кассовая программа передала в UPOS недопустимый трек2. 4313;В кассовой программе значится один номер карты, а через UPOS считан другой. 4314;Кассовая программа передала код операции «Оплата по международной карте», а вставлена была карта СБЕРКАРТ. 4332;Сверка итогов не выполнена (причина неизвестна, но печатать в итоге нечего). 4333;Распечатать контрольную ленту невозможно (причина неизвестна, но печатать в итоге нечего). 4334;Карта не считана. Либо цикл ожидания карты прерван нажатием клавиши ESC, либо просто истек таймаут. 4335;Сумма не введена при операции ввода слипа. 4336;Из кассовой программы передан неверный код валюты. 4337;Из кассовой программы передан неверный тип карты. 4338;Вызвана операция по карте СБЕРКАРТ, но прочитать карту СБЕРКАРТ не удалось. 4339;Вызвана недопустимая операция по карте СБЕРКАРТ. 4340;Ошибка повторного считывания карты СБЕРКАРТ. 4341;Вызвана операция по карте СБЕРКАРТ, но вставлена карта другого типа, либо не вставлена никакая. 4342;Ошибка: невозможно запустить диалоговое окно UPOS (тред почему-то не создается). 44хх;От фронтальной системы получен код ответа ХХ. 5002;Карта криво выпущена и поэтому дает сбой на терминалах, поддерживающих режим Offline Enciphered PIN. 5026;Ошибка проверки RSA-подписи. На терминале отсутствует (или некорректный) один из ключей из раздела «Ключи EMV». 5063;На карте ПРО100 нет списка транзакций. 5100-5108;Нарушены данные на чипе карты 5109;Срок действия карты истек 5110;Срок действия карты еще не начался 5111;Для этой карты такая операция не разрешена 5116, 5120;Клиент отказался от ввода ПИНа 5133;Операция отклонена картой.

Содержание

  1. Кассовый эквайринг Сбербанк
  2. Настройка
  3. pinpad.ini
  4. Регистрация sbrf.dll
  5. Процедура оплаты
  6. Проблемы
  7. Потеря связи с пин падом
  8. Журнал операций
  9. Пример разбора лога sbkernel[ddmm].log
  10. Пример успешной операции
  11. Описание
  12. Пример сбойной операции
  13. Описание
  14. Настройка связи кассы Rk6 с пинпадами ОАО «Сбербанк»
  15. Схема взаимодействия модулей
  16. Настройки в Менеджерской RK6 (E_Rest32.exe)
  17. Настройки со стороны Сбербанк
  18. Расширенные настройки программного обеспечения ОАО «Сбербанк»
  19. Вводная информация
  20. Перечень используемого оборудования и программных модулей
  21. Общая схема взаимодействия модулей между собой
  22. Модуль авторизации — SB_PILOT.EXE
  23. Требования к оборудованию
  24. Требования к программному обеспечению
  25. Выполняемые функции
  26. Состав программного обеспечения
  27. Вызов программы
  28. Передача результатов работы программы
  29. Конфигурация и настройка SB_PILOT.EXE
  30. Варианты настройки сети на кассовом POS-терминале (OS DOS)
  31. Описание настройки авторизационного модуля на работу поверх MicroSoft network client for DOS.
  32. Конфигурационный файл — PROTOCOL.INI
  33. Конфигурационный файл — SYSTEM.INI
  34. Работа авторизационного модуля (SB_PILOT.EXE) через NETBIOS
  35. Сервисное коммуникационное приложение — PSERVER.EXE
  36. Работа авторизационного модуля (SB_PILOT.EXE) через Named Pipes
  37. Работа авторизационного модуля (SB_PILOT.EXE) поверх Novell IPX/SPX network client for DOS
  38. Конфигурационный файл — NET.CFG

Кассовый эквайринг Сбербанк

Посмотрите и покажите кассирам видео

Первичную настройку интеграции со сбером должны выполнять специалисты Сбербанка!

Укажите специалисту Сбербанка что терминал должен формировать один слип! В настройках процессинга же в админ панели для Сбербанка укажите число копий слипа- два

Касса напрямую не взаимодействует с пин-падом, всё общение производится через промежуточный софт Сбербанка: sbrf.dll — это библиотека, реализующая основные запросы к пин-паду:

Если коротко, то Касса запрашивает у sbrf.dll проведение оплаты на заданную сумму, далее sbrf.dll выполняет все необходимые действия с пин-падом и возвращает программе результат операции (в виде числового кода). Расшифровку числовых кодов нужно запрашивать у Сбербанка.

Настройка

После установки и настройки sbrf.dll лежит где-то на диске C ( C:SBFR , C:sc252 и т.п. где конкретно должен сказать специалист Сбера). Если всё настроено и «работает» то так же в этой папке должна быть программа loadparm.exe — если при запуске она показывает окошечко, значит связь с пин-падом есть, иначе — нет.

Бывает что настройка выполнена не полностью, в этом случае придется что-то делать руками.

pinpad.ini

pinpad.ini — файл с настройками связи с пин-падом:

Регистрация sbrf.dll

Для того, что бы касса могла использовать sbrf.dll ее необходимо зарегистрировать в системе! Это, по идее, должны так же делать специалисты Сбербанка, но они этого не делают… обычно. В любом случае повторная регистрация не навредит:

Процедура оплаты

Оплата производится с поддержкой аварийной отмены, т.е. при проведении платежа он переводится в «неподтвержденное» состояние, подтверждается платеж только после печати чека. В иных случаях операция буедт отменена и деньги вернутся на счет клиенту. Даже если программа/компьютер на мертво зависли, или вырубилось электричество, и т.п. — деньги будут возвращены при сверке итогов в конце дня.

Проблемы

В случае если при оплате/возврате возникает ошибка «Нет связи с пин-падом», или «Ошибка номер такой-то, смотрите подробности в таблице ошибок» — это означает что sbrf.dll — вернула программе соответствующий код ошибки и программа считает операцию не выполненной.

Потеря связи с пин падом

При потерях связи с пин-падом:

Журнал операций

Эквайринг сбербанка поддерживает возможность просмотра журнала операций и отмены оных. Отмена транзакций протоколируется и выводится в специальном отчёте: Отмены транзакций эквайринга

Пример разбора лога sbkernel[ddmm].log

sbkernel[ddmm].log — лог операций библиотеки sbrf.dll за dd — день, mm — месяц. Ведется библиотекой в случае установки параметра PinpadLog=1 в pinpad.ini .

Ниже мы разберем две оплаты — успешную и сбойную. В логе красным приведены комментарии, некоторые комментарии приводятся единожды, при дальнейшем чтении лога следует держать их в голове, для понимания происходящего.

Пример успешной операции

12.12 18:47:41 SBRF: (PID 3400, thread 0x000019F8) Clear Начало обслуживания
12.12 18:47:41 SBRF: (PID 3400, thread 0x000019F8) SParam: Amount=36000 Сумма платежа в копейках
12.12 18:47:41 SBRF: (PID 3400, thread 0x000019F8) NFun: 4000 Вызов ф-ии оплаты
12.12 18:47:41 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’
12.12 18:47:41 GATE: unlock:’00001788′
12.12 18:47:41 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’
12.12 18:47:41 SBKRNL: Command = 4000, Amount = 360.00
12.12 18:47:41 SBKRNL: Open com 6 Здесь sbrf.dll по всей видимости начинает общение с пинпадом, т.к. тут открытие порта
12.12 18:47:52 SBKRNL: Close com 6 А здесь оно закончило общение (т.к. порт закрывается), ниже есть такие же моменты, отдельно я на них акцентироваться не буду
12.12 18:47:52 SBKRNL: Result = 0, Amount = 360.00, Card = ‘ 3886’ Все прошло успешно (Result = 0)
12.12 18:47:52 GATE: unlock:’00001788′
12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’
12.12 18:47:52 GATE: unlock:’00001788′
12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’
12.12 18:47:52 GATE: unlock:’00001788′
12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’
12.12 18:47:52 GATE: unlock:’00001788′
12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) Returns: 0 Здесь уже результат передается к нам в программу
12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) NFun: 6003 Мы вызываем ф-ю 6003 (перевод платежа в неподтвержденное состояние) что бы если вдруг что, то при сверке итогов денежки человеку вернулись
12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’
12.12 18:47:52 SBKRNL: Command = 6003, Amount = 360.00, AuthCode = 278847
12.12 18:47:52 SBKRNL: Open com 6
12.12 18:47:52 SBKRNL: Close com 6
12.12 18:47:52 SBKRNL: Result = 0
12.12 18:47:52 GATE: unlock:’00001788′
12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’
12.12 18:47:52 GATE: unlock:’00001788′
12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) Returns: 0 Выше опять таки работа с терминалом, а тут возврат результата нам
12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) GParamString: RRN=934688849493
12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) GParamString: Cheque1251 size=1284
12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) Clear
12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) Clear Здесь мы снова подключаемся к sbrf.dll после печати чека что бы передать подтверждение платежа (чуть ниже, ф-я 6001)
12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) SParam: RRN=934688849493
12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) SParam: Amount=36000
12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) NFun: 6001
12.12 18:47:58 GATE: lock:’0000179C’ ‘UPOSWINMUTEX2’
12.12 18:47:58 GATE: unlock:’0000179C’
12.12 18:47:58 GATE: lock:’0000179C’ ‘UPOSWINMUTEX2’
12.12 18:47:58 SBKRNL: Command = 6001, Amount = 360.00
12.12 18:47:58 SBKRNL: Open com 6
12.12 18:47:58 SBKRNL: Close com 6
12.12 18:47:58 SBKRNL: Result = 0
12.12 18:47:58 GATE: unlock:’0000179C’
12.12 18:47:58 GATE: lock:’0000179C’ ‘UPOSWINMUTEX2’
12.12 18:47:58 GATE: unlock:’0000179C’
12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) Returns: 0 sbrf.dll пообщалась с терминалом и вернула нам результат что всё хорошо
12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) GParamString: RRN=934688849493
12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) Clear
12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) Clear
12.12 18:47:58 GATE: lock:’00000F2C’ ‘UPOSWINMUTEX2’
12.12 18:47:58 GATE: unlock:’00000F2C’

Описание

Если коротко то это сценарий оплаты с аварийной отменой, по сути мы даем в sbrf.dll три команды: 4000 (платеж), 6003 (перевести платеж в неподтвержденное состояние), 6001 (перевести платеж в подтвержденное состояние). Далее sbrf.dll общается с пинпадом сама, нам сообщая только результат операции (Result = 0, если не 0, то ошибка).

Пример сбойной операции

12.12 18:48:25 SBRF: (PID 3400, thread 0x000019F8) Clear
12.12 18:48:25 SBRF: (PID 3400, thread 0x000019F8) SParam: Amount=36000
12.12 18:48:25 SBRF: (PID 3400, thread 0x000019F8) NFun: 4000 Шлем оплату, после этого работает уже sbrf.dll
12.12 18:48:25 GATE: lock:’0000109C’ ‘UPOSWINMUTEX2’
12.12 18:48:25 GATE: unlock:’0000109C’
12.12 18:48:25 GATE: lock:’0000109C’ ‘UPOSWINMUTEX2’
12.12 18:48:25 SBKRNL: Command = 4000, Amount = 360.00
12.12 18:48:25 SBKRNL: Open com 6 Видим открытие порта, но дальше какой-то мрак, в логах нет ни закрытия порта, ни возвращения нам результата, ничего…
12.12 18:48:32 SBRF: (PID 3400, thread 0x000019F8) Clear
12.12 18:48:32 GATE: lock:’000011D8′ ‘UPOSWINMUTEX2’
12.12 18:48:32 GATE: unlock:’000011D8′
12.12 18:49:03 SBRF: (PID 3400, thread 0x000019F8) Clear
12.12 18:49:03 GATE: lock:’00001588′ ‘UPOSWINMUTEX2’
12.12 18:49:03 GATE: unlock:’00001588′
12.12 18:49:04 SBRF: (PID 3400, thread 0x000019F8) NFun: 6003 Тем не менее результат нам вернулся при чем был «успешным», т.к. здесь мы вызываем ф-ю 6003…
12.12 18:49:04 GATE: lock:’00000F34′ ‘UPOSWINMUTEX2’
12.12 18:49:04 SBKRNL: Command = 6003, Amount = 360.00
12.12 18:49:04 SBKRNL: Failed to open device \.COM6, err 5 И вот тут пошли проблемы с портом, sbrd.dll пытается его открыть, но не выходит (код ошибки 5, предположу что это код ошибки Windows, означает «доступ запрещен», т.е. 6 ком порт всё ещё открыт или не доступен по иным причинам).
12.12 18:49:04 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:05 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:05 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:05 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:06 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:06 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:07 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:07 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:07 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:08 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:08 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:09 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:09 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:09 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:10 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:10 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:11 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:11 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:12 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:12 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:12 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:13 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:13 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:14 SBKRNL: Failed to open device \.COM6, err 5
12.12 18:49:14 SBKRNL: Result = 99 Ну и под конец нам дают ошибку 99 — нет связи с пинпадом.
12.12 18:49:14 GATE: unlock:’00000F34′

Описание

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

Источник

Настройка связи кассы Rk6 с пинпадами ОАО «Сбербанк»

— К POS-терминалу DOS RK6 — на свободный USB или COM-порт подключен пинпад Verifone Vx820 с прошивкой для Сбербанка. Обмен данными между терминалом и кассой происходит с использованием нескольких сервисных программных модулей предоставляемых специалистами службы техподдержки ОАО «Сбербанк».

Важно: Для WIN-кассы (RK6WIN) поддержка протокола авторизации UPOS (Сбербанк) не реализована и в планах разработки не стоит в связи с закрытием проекта R-Keeper v6

Схема взаимодействия модулей

Передача ответа от центра происходит по той же цепочке, но в обратном направлении. Настройка всей связки проводится совместно инженерами UCS и Сбербанк.

Настройки в Менеджерской RK6 (E_Rest32.exe)

  • В менеджерской RK6 (E_Rest32.exe) в справочнике «Валюты»»кредитные карты» создать валюту «Оплата через пинпад» в качестве кода указать значение «PPAD» (если не используется параметр в rkeeper6.ini: smpauth_code=1,2,3,4 — где, 1,2,3,4 — коды валют кредитных карт указанные для валют в менеджерской, которые должны оплачиваться через банковский терминал).

  • На POS-терминале (DOS) в RKCLIENT скопировать соответствующую smpauth.dll (например, с фтп — /r-keeper/versions/SMPAUTH/UPOS/DOS) и в rkeeper6.ini прописать путь к локальному каталогу содержащему ПО сбербанка (sb_pilot.exe). Например: smpauth_Dir=С:UPOS.
  • Подключить на свободный COM-порт кассы предоставленный клиентом банковский терминал (пинпад — VeriFone VX 820).
  • Так же пинпад может быть подключен и на USB-порт DOS-кассы (но для этого, в BIOS POS-терминала должна быть включена полноценная поддержка USB и должен быть настроен сам пинпад соответсвующим образом сотрудниками банка и возможно для него может потребоваться дополнительное питание (должно идти в комплекте с пинпадом), если на пинпаде будет использоваться оба ридера карт) . Основное примущество такого решения — освобождение порта RS-232 для других возможных переферийных устройств (сканер, весы, дисплей покупателя и т.п.).
  • Организовать (проверить) сетевое подключение кассы к менеджерскому ПК или к тому ПК на котором, будет работать дополнительный сервис (pService — PSERVER.EXE) для связи с процессинговым центром. Необходимо, что бы была возможность подключения сетевого диска для передачи софта и настройки софта специалистами сбербанка.

Пример параметров в RKEEPER6.INI:

Настройки со стороны Сбербанк

  • На кассу копируется и настраивается актуальное ПО С:UPOSsb_pilot.exe и сопутствующие файлы.
  • Настривается pinpad.ini, например:

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

  • Настраивается pServer — инсталлируется как служба, конфигурируется на связь с процессинговым центром и с SB_PILOT.EXE, прописывается в автозагрузку и т.п.
  • Для самого пинпада можно создать и прогрузить (в пинпад) файл с настройками *.tlv. Создается такой файл при помощи специальной утилиты — TlvEdit.exe. Готовый файл с конфигурацией пинпада копируется на кассу в каталог C:UPOS (туда же где sb_pilot.exe).

Примечание: проверялось и тестировалось на версии кассового ПО 6.106 и архивом ПО Сбербанка, прикреплен здесь же.

Вложение Размер
pinpad_sberbank_dos_rk6.rar 6.89 МБ

Расширенные настройки программного обеспечения ОАО «Сбербанк»

Вводная информация

Важно. Перед прочтением данной статьи, рекомендуется ознакомиться с основной статьей по использованию и настройке связки банковских терминалов с кассами RK6. Основная статья находится здесь — http://support.ucs.ru/ru/node/5456 и http://support.ucs.ru/ru/node/8371

— Данные в статье предоставлены техническими специалистами ОАО «Сбербанк».

— Для успешной связки кассового ПО RK6 с банковскими терминалами ОАО «Сбербанк» необходимо иметь представление о том, как реализован обмен данными между кассой RK6, банковским терминалом и процессинговым центром Сбербанка при проведении транзакции по банковской карте. Используется следующее оборудование и программные модули:

Перечень используемого оборудования и программных модулей

  • DOS-RKCLIENT (версия 6.102 и выше) — кассовая программа (UCS). На POS-терминале (под управлением OS DOS, например DrDOS v7.03).
  • Терминал авторизации банковских карт — VeriFone VX 820 с прошивкой от Сбербанк. Подключается на свободный COM-порт (RS-232) кассового POS-терминала. Предоставляется банком.
  • SMPAUTH.DLL — драйвер (производства UCS) для взаимодействия кассовой программы с модулем авторизации SB_PILOT.EXE. Копируется в рабочий каталог кассовой программы (C:RKCLIENT) и настраивается в C:RKCLIENTRKEEPER6.INI.
  • Модуль авторизации для взимодействия с пинпадом — SB_PILOT.EXE. Устанавливается на POS-терминал паралельно с кассовой программой. Через данный модуль может быть настроена связь с процессинговым центром банка, если на POS-терминале настроен прямой выход в интернет. Иначе, для связи с процессинговым центром будет использоваться дополнительный сервис — PSERVER.EXE. Предоставляется и настраивается техническими специалистами банка.
  • Дополнительный модуль для взаимодействия с процессинговым центром — PSERVER.EXE. Используется по необходимости, например, если на кассовом POS-терминале нет прямого выхода в интернет. Устанавливается на дополнительном ПК (OS Windows) находящимся в общей ЛВС с кассой и имеющим выход в интернет. Предоставляется и настраивается техническими специалистами банка.

Общая схема взаимодействия модулей между собой

Ниже , представлена примерная последовательность взаимодействия программных и аппратных модулей используемых при работе с баковскими терминалами Сбербанк совместно с кассами RK6.

— Ответ от центра происходит соответсвенно по цепочке в обратном порядке.

Модуль авторизации — SB_PILOT.EXE

Интегрируемый программный модуль sb_pilot.exe используется совместно с программным обеспечением контрольно-кассовых машин для проведения платежей по банковским картам. Продукт предназначен для работы под управлением MS-DOS и обычно устанавливается в отдельный каталог системного диска ККМ. Например, — C:UPOS.

Модуль выполняет все операции, необходимые для проведения платежа, начиная со считывания карты (магнитной или микропроцессорной) и заканчивая формированием карточного чека («слипа»), который вызывающая программа должна направить на печать.

Требования к оборудованию

  • IBM-совместимый компьютер на базе процессора не ниже 80286 (POS-терминал).
  • Объем оперативной памяти не менее 1 МБ.
  • Объем свободного дискового пространства не менее 5 МБ.
  • Наличие свободного порта RS-232 для подключения ПИН-клавиатуры VeriFone SC5000 или аналогичной (предоставляется Сбербанком бесплатно).
  • Сетевая карта Ethernet.

Требования к программному обеспечению

  • Версия MS-DOS не ниже 3.01.
  • Объем свободной оперативной памяти не менее 230 K.
  • Наличие русификатора клавиатуры/дисплея.
  • Наличие сетевой оболочки FTP Software PCTCP, либо Novell TCPIP.

Выполняемые функции

Платежный терминал поддерживает две группы функций:

  • Первая группа — предназначена для проведения платежей по картам.
  • Вторая группа — Это служебные функции.

Для проведеня платежей по картам поддерживаются следующие функции:

  • Оплата покупки (услуги).
  • Возврат покупки.

Служебные функции включают в себя:

  • Сверку итогов (ежедневная процедура закрытия смены с распечаткой отчета и очисткой списка операций).
  • Вход в технологическое меню (для настройки параметров и др. служебных операций).

Состав программного обеспечения

Установленное программное обеспечение имеет следующий состав файлов:

Вызов программы

Синтаксис вызова программы следующий:

— где параметр может принимать значения:

Операция

тип

Назначение

1

Оплата

3

Возврат покупки

7

Сверка итогов

9

Печать контрольной ленты (без сверки итогов)

11

Вход в технологическое меню

12

Повтор последнего документа

14

Загрузка TLV-файла

19

Загрузка TLV-файла с предварительным удалением старых настроек

20

Чтение номера карты и хеш-значения от него

21

Удаленная загрузка обновлений

Параметр — указывается в копейках;

Параметр — может принимать значения:

0

Определять автоматически (рекомендуется)

1

Visa, Visa Electron

2

MasterCard

3

Maestro

4

Amex

5

Diners Club

9

СБЕРКАРТ

Если, в данной операции сумма не используется, она должна быть равной «0». Если в данной операции тип карточки не используется, он должен быть равен «0».

Параметр — считанный с магнитной карточки Track2, без заголовочных и хвостовых символов. Номер карты отделяется знаком ‘=‘.

Как правило, этот параметр не указывается при вызове программы. В этом случае программа сама выдаст оператору запрос на ввод карточки. При этом карта может быть считана через устройство VeriFone SC5000 (VX 820), либо через встроенный клавиатурный ридер ККМ.

Параметр — поддерживаются следующие ключи:

Передача результатов работы программы

По окончании работы программы формируются два текстовых файла — файл обмена и файл чека. Первый имеет имя e и предназначен для передачи вызывающей программе параметров совершенной операции. Первая строка в этом файле содержит код результата операции, и через запятую – поясняющее текстовой сообщение. Код «0» означает успешное проведение платежа, любое другое значение – отказ или невозможность проведения платежа.

Если код результата равен «0», то для платежной операции последующие строки файла e содержат параметры совершенной операции. Например:

Образец содержания файла

Код результата и текст сообщения

Номер карты (маскированный)

Срок действия карты

Внутренний номер операции

Название типа карты

Признак карты Сбербанка (1)

Дата-время операции (ГГГГММДДччммсс)

Ссылочный номер операции (может быть пустым)

Хеш от номера карты

Второй файл с именем «p» (имя может быть изменено) является образом чека для вывода на принтер. Вызывающая программа должна самостоятельно передать этот файл на принтер. Файл чека формируется только в том случае, если код результата равен 0. Имя файла чека устанавливается в конфигурационном файле программы и обычно имеет значение «p». В исключительных случаях можно назначить файлу чека имя «prn» — тогда он будет печататься сразу, до завершения работы программы.

Конфигурация и настройка SB_PILOT.EXE

Настроечные параметры программы необходимо подготовить в виде TLV-файла с помощью программы TlvEdit, работающей под OS Windows. Настройка параметров описана отдельно.

Сформированный TLV-файл необходимо поместить в каталог с программой sb_pilot. После этого необходимо запустить программу с параметром 11:

И в открывшемся меню выбрать пункт «Служебные операции Настройки Техобслуживание Пароль 878787 Загрузка параметров». При наличии в каталоге нескольких TLV-файлов программа предложит выбрать нужный.

В случае, если после этого возникает необходимость изменить значение какого-либо параметра, для этого можно воспользоваться программой updoscf.exe. Эта программа редактирует не сам TLV-файл, а импортированные из него параметры (файлы *.d).

Варианты настройки сети на кассовом POS-терминале (OS DOS)

В большинстве случаев в ЛВС ТСТ используются следующие сетевые протоколы для организации обмена ПО ККМ, работающего под управлением MS DOS, с сервером БД ТСТ

  • MicroSoft network client for DOS (TCP/IP, NetBEUI, IPX)
  • Novell IPX/SPX network client for DOS
  • Novell IP network client for DOS
  • PC/TCP client for DOS (IP на базе пакетного драйвера

Программа через которую происходит взаимодействие с терминалом SB_PILOT.EXE может работать со всеми перечисленными протоколами напрямую, или с использованием протокола более высокого уровня (netbios, named pipes). В документе в качестве примера будут описываться настройки авторизационного модуля для DOS из состава «Универсального ПО POS-терминалов Сбербанка России».

Описание настройки авторизационного модуля на работу поверх MicroSoft network client for DOS.

Сетевые протоколы от компании MicroSoft особенны тем, что напрямую с ними приложения не работают – для передачи данных между прикладными процессами приходиться использовать протоколы более высокого уровня (netbios, named pipes). Обмен может проводиться через общие папки, созданные при помощи средств сетевого клиента, или напрямую, между прикладными программами с использованием описанных в документации функций для работы с NetBIOS (основная система сетевого ввода-вывода), Named pipes (именованные каналы).

Для более четкого понимания настроек MicroSoft network client for DOS рассмотрим несколько файлов из состава сетевого клиента: protocol.ini и system.ini (обычно расположены на POS-терминале в каталоге C:NET или С:NETIP)

Конфигурационный файл — PROTOCOL.INI

Конфигурационный файл — SYSTEM.INI

При запуске сетевого клиента в основной конфигурации т.е. в system.ini:

Будет невозможен вход в домен (что практически никогда и не используется для работы POS-терминала со своим сервером) и работа по «named pipes», но при этом экономится около 80 Кбайт основной памяти, что немаловажно т.к. использование ресурсов в ОС DOS сильно ограничено.

Ниже приведена таблица, описывающая коммуникационные возможности авторизационного модуля c учетом настроек сетевого клиента.

preferredredir=basic или full

autostart=basic или full

preferredredir=basic или full

autostart=basic или full

С учетом представленных файлов настройки сетевого клиента (system.ini, protocol.ini) выполняются коммуникационные настройки авторизационного модуля (SB_PILOT.EXE) на работу по NetBIOS:

Работа авторизационного модуля (SB_PILOT.EXE) через NETBIOS

В случае, если параметр «Номер LANA для NetBIOS» не указан, то по умолчанию он приравнивается «0». Если при указанных выше параметрах сетевого клиента изменить номер LANA с 0 на 2, то работа по NetBIOS будет происходить поверх NetBEUI (на компьютере с ПО PSERVER должен быть установлен протокол NetBEUI с включенной поддержкой NetBIOS). Номер LANA, равный 0, указывает на работу поверх TCP/IP (на компьютере с PSERVER должен быть установлен и настроен протокол TCP/IP с включенной поддержкой NetBIOS).

Сервисное коммуникационное приложение — PSERVER.EXE

Коммуникационная прогарамма PSERVER для приема запросов от авторизационного модуля по протоколу NetBIOS должна быть настроена, например, следующим образом:

Настройки указывают PSERVER-у на то, чтобы он при старте зарегистрировал в сети NetBIOS-имена PSRV12 и PSRV13, через которые пойдет связь авторизационного модуля при обслуживании международных карт и карт Сберкарт соответственно.

Необходимо отметить, если при всех прочих правильных настройках невозможно установить соединение по NetBIOS c PServer, то в таком случае:

  • В секции [TCPIP] файла PROTOCOL.INI сетевого клиента на POS-терминале установите параметр DefaultGateway0 равным IP-адресу того ПК на котором запущен и работает сервис PSERVER.EXE, перезагрузите POS-терминал и проверьте связь между приложениями SB_PILOT.EXE и PSERVER.EXE. Если выполненых действий оказалось недостаточно, перейдите к п.2.
  • Укажите в настройках сетевых карт на POS-терминале и ПК с PSERVER скорость обмена в сети. Например:

POS-терминал → c:netprotocol.ini → [Имя адаптера] → Speed = 10

ПК с Pserver → «Свойства подключения по ЛВС» → свойства сетевого адаптера (к примеру):

Примечание: Также, в случае, если PSERVER запущен на компьютере, работающем под управлением MS Windows NT 4.0 Server/WorkStation, то наблюдается следующая коллизия: авторизационный модуль (SB_PILOT.EXE) успешно связывается по протоколу NetBIOS с PSERVER 18 раз, после чего связь установить невозможно без перезапуска ОС POS-терминала. Причина неизвестна.

Работа авторизационного модуля (SB_PILOT.EXE) через Named Pipes

Для работы в сети MicroSoft по протоколу named pipes сетевой клиент должен запускаться в расширенной конфигурации, т.е. в system.ini:

Приведем коммуникационные настройки авторизационного модуля на работу по named pipes:

В настройках терминала необходимо указать «Имя сервера для связи через Named Pipes» — сетевое имя компьютера, на котором работает PSERVER. Далее, PSERVER нужно настроить на прием запросов по Named Pipes. К примеру:

PSERVER, работающий на ПК с сетевым имененем (ServerNetName), при такой настройке зарегистрирует в сети именованные каналы \ServerNetNamePIPEPSRV12 и \ServerNetNamePIPEPSRV13, по которым и будут работать терминалы при обслуживании международных карт и карт Сберкарт.

Работа авторизационного модуля (SB_PILOT.EXE) поверх Novell IPX/SPX network client for DOS

Приведем файл настройки Novell IPX/SPX network client for DOS (обычно расположен в каталоге POS-терминала C:NET)

Конфигурационный файл — NET.CFG

Авторизационный модуль должен быть настроен следующим образом:

Порт хоста 33001 в настройках авторизационного модуля соответствует шестнадцатиричному 0x80E9, 33002 – 0x80EA (номера сокетов, которые будут указаны в настройках PSERVER для приема запросов по SPX).

Параметр «MAC-адрес сервера для связи по IPX» — mac-адрес сетевой карты компьютера с PSERVER, на которой ожидаем запросы от POS-терминала (для уточнения mac-адреса из командной строки дайте команду ipconfig.exe — all).

Примечание: для приема запросов по SPX на компьютере с Pserver потребуется установить NWLink IPX/SPX-совместимый протокол, при установке которого обычно автоматически включается и поддержка NetBIOS поверх транспорта IPX/SPX.

Для связи по IPX/SPX может иметь значение тип сетевого кадра по умолчанию, используемый сетевым клиентом на POS-терминале. В настройках NWLink IPX/SPX-совместимого протокола на компьютере с PSERVER обычно стоит автоопределение типа сетевого кадра. Возможны ситуации, когда для успешной работы авторизационного модуля (SB_PILOT.EXE) придется подобрать тип сетевого кадра по-умолчанию в сетевом клиенте на POS-терминале. При этом нужно быть крайне аккуратным, т.к. изменение типа сетевого кадра по-умолчанию может привести к проблемам связи между POS и сервером БД ТСТ. В настройках NWLink IPX/SPX-совместимого протокола на ПК с PSERVER тип кадра должен определяться или автоматически, или быть эквивалентным типу сетевого кадра по-умолчанию, установленному в настройках сетевого клиента на POS-терминале.

Настройки PSERVER могут быть такими:

  • В случае, если связь по IPX/SPX с PSERVER установить не удается можно попытаться использовать протокол NetBIOS поверх Novell IPX/SPX (на машине с PSERVER должна быть включена поддержка NetBIOS поверх NWLink IPX/SPX-совместимого протокола). Для этого в файле autoexec.bat на POS-терминале после запуска IPX/SPX-клиента необходимо прописать запуск программы netbios.exe (обычно поставлялся компанией Novell вместе с IPX/SPX-клиентом, в коде данного файла есть строчка Novell NetBIOS Emulation Package). Авторизационный модуль и PSERVER настраиваются на работу по NetBIOS как было описано выше, параметр «Номер LANA для NetBIOS» в настройках авторизационного модуля можно не указывать, т.к. он в данном случае равен 0.
  • В случае, если в сети ТСТ на ККМ используется Novell IP network client for DOS или PC/TCP client for DOS (второй протокол обычно используют магазины, работающие на ККМ с ПО «Кристалл-УКМ» от питерской компании «Кристалл-Сервис»), разворачивать в сети магазина коммуникационную программу Pserver не обязательно. Это может потребоваться для решения сопутствующих проблем (безопасность работы из сети ТСТ через Интернет, использование единственной телефонной линии для связи с хостом, ограничение листа доступа на маршрутизаторе единственным адресом из сети магазина и т.п.)

Пример настройки авторизационного модуля для работы через с хостами обслуживания банковских карт через Интернет:

Если непосредственно с ККМ выход в Интеренет организовать нет возможности, то можно использовать PServer, настроенный на прием запросов по TCP/IP от авторизационного модуля (тогда в настройках модуля должен фигурировать IP-адрес компьютера с PServer):

А с Pserver уже можно посылать запросы через Интернет:

В состав «Универсального ПО POS-терминалов Сбербанка России» начиная с версии 10.92 входит два варанта авторизационного модуля для MS DOS — UP_DOS2.EXE и UP_DOS3.EXE. Первый предназначен для работы с ПИН-клавиатурами SC5000, Ingenico 3500. Второй может работать так же и с клавиатурами SC552. Так как UP_DOS3.EXE по размеру намного превосходит UP_DOS2.EXE, то весьма вероятно, что на ККМ может не хватить свободной основной памяти для его запуска из под ПО ККМ. В ПИН-клавиатуры должно быть загружено «Универсального ПО POS-терминалов Сбербанка России» актуальной версии.

Для работы с ПО ККМ исполняемый модуль должен быть переименован в SB_PILOT.EXE.

Важно. Для установки модуля на ККМ необходимо заранее подготовить файл с настройками (использовать tlvedit.exe) и полжить его в необходимый каталог на ККМ вместе с sb_pilot.exe. Первый запуск sb_pilot.exe без параметров позволит через соответствующее меню загрузить подготовленный файл с параметрами для данного POS-терминала. (F1 → Служебные операции → Настройки → Техническое обслуживание → Пароль → Загрузка параметров).

После успешной загрузки параметров терминал готов к работе в составе ПО ККМ, которое, кстати, так же необходимо предварительно настроить на работу с нашим модулем.

Доступ к COM-порту с ПИН-клавиатурой авторизационный модуль для DOS осуществляет не через номер com-порта, а через номер прерывания и базовый адрес. Эти реквизиты требуется предварительно уточнить.

Источник

Автор Сообщение

Заголовок сообщения: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 19 апр 2018, 16:37 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

Добрый день, пытаемся настроить sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф.
После проведения платежа через терминал наблюдаем следующую ошибку :

[INFO] Начало попытки проведения платежа…
cmd: «C:sc552dowindow.bat 1 100 0» (workdir: «C:sc552»)
out:
C:sc552>start /W C:sc552loadparm.exe 1 100 0

Код:

return value: 0
[INFO] Обработка результатов…
[ERROR] Ошибка при анализе выходного файла утилиты
java.io.FileNotFoundException: C:sc552e (Не удается найти указанный файл)
[INFO] Печать документа…
[ERROR] Завершено: Ошибка работы модуля

При этом чек печатается формируемый в файле p, но при этом платеж абоненту не поступает в приход и ни где не отображается , а так же
не печатается чек на ККТ который передается в ОФД,
Файл е отсутствует , поэтому в client.properties была закомментирована строка, которая на него ссылается
Конфигурация в client.properties:

Код:

# полный путь до утилиты sb_pilot (под linux или windows), который принимает параметры согласно протокола
# или же любой бинарник/скрипт его заменяющий
#sbpilot.path.bin=/home/bill/sb-pilot/sb_pilot
sbpilot.path.bin=C:sc552loadparm.exe
sbpilot.path.bin=C:sc552dowindow.bat
# полные пути до файлов e и p, которые создаются утилитой (см.документацию по системе sb_pilot)
#sbpilot.path.e=C:sc552e
sbpilot.path.p=C:sc552p
# указывается в случае другой версии утилиты, которая вместо файла e создаёт лог-файл sbkernel.log
sbpilot.path.e2=C:sbkernel804.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

Вернуться к началу

Профиль  

dimOn

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 19 апр 2018, 20:53 



Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244

там же всё в доке / в комментарии к параметрам чётко написано — надо чтобы был настроен либо sbpilot.path.e либо sbpilot.path.e2

у вас явно пишет же что ищет файл C:sc552e , а настроено судя по конфигу sbpilot.path.e2=C:sbkernel804.log
вы позже уже конфиг правили, чем вывод плагина сделан? тогда странное описание проблемы

C:sbkernel804.log явно у вас тоже не найдётся.

Настраивайте на лог для sbpilot.path.e2, в новой версии плагина поддерживается ротация файла по ГГММ (если она у вас есть):

Цитата:

# указывается вместо sbpilot.path.e в случае другой версии утилиты, которая вместо файла e создаёт лог-файл sbkernel.log
# ещё следующая версия утилиты создавала файлы с ротацией sbkernelГГММ.log
sbpilot.path.e2=/home/dimon/temp/sb-pilot/sbkernel%YY%MM.log

_________________
I’m clever. I’ve got a computer.

Вернуться к началу

Профиль  

dimOn

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 19 апр 2018, 21:02 



Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244

а вот это не ваших коллег тема?

https://forum.bitel.ru/viewtopic.php?f=55&t=12841

иначе интересно откуда взялось вот такое: C:sbkernel803.log которого нигде нет ни в доке, ни в конфигах

и вот это продублированное тоже очень маловероятно что так совпало

sbpilot.path.bin=C:SBRFloadparm.exe
sbpilot.path.bin=C:SBRFdowindow.bat

sbpilot.path.bin=C:sc552loadparm.exe
sbpilot.path.bin=C:sc552dowindow.bat

_________________
I’m clever. I’ve got a computer.

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 20 апр 2018, 14:21 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

dimOn писал(а):

там же всё в доке / в комментарии к параметрам чётко написано — надо чтобы был настроен либо sbpilot.path.e либо sbpilot.path.e2

у вас явно пишет же что ищет файл C:sc552e , а настроено судя по конфигу sbpilot.path.e2=C:sbkernel804.log
вы позже уже конфиг правили, чем вывод плагина сделан? тогда странное описание проблемы

C:sbkernel804.log явно у вас тоже не найдётся.

Настраивайте на лог для sbpilot.path.e2, в новой версии плагина поддерживается ротация файла по ГГММ (если она у вас есть):

Цитата:

# указывается вместо sbpilot.path.e в случае другой версии утилиты, которая вместо файла e создаёт лог-файл sbkernel.log
# ещё следующая версия утилиты создавала файлы с ротацией sbkernelГГММ.log
sbpilot.path.e2=/home/dimon/temp/sb-pilot/sbkernel%YY%MM.log

Добрый день, да, действительно правил конфиг позже, сейчас при попытке оплатить банковской картой оплата проходит (деньги со счета карты списаны), в биллинге происходит ошибка, вот вывод лога.

Код:

INFO] Начало попытки проведения платежа…
cmd: «C:sc552dowindow.bat 1 100 0» (workdir: «C:sc552»)
out:
C:sc552>start /W C:sc552loadparm.exe 1 100 0 

return value: 0
[INFO] Обработка результатов…
[ERROR] Ошибка при анализе выходного файла утилиты
ru.bitel.bgbilling.common.BGException: Лог-файл должен получить 2 новые строки (до: 0, после: 0)
[INFO] Печать документа…
[ERROR] Завершено: Ошибка работы модуля

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

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 20 апр 2018, 14:23 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

dimOn писал(а):

а вот это не ваших коллег тема?

https://forum.bitel.ru/viewtopic.php?f=55&t=12841

иначе интересно откуда взялось вот такое: C:sbkernel803.log которого нигде нет ни в доке, ни в конфигах

и вот это продублированное тоже очень маловероятно что так совпало

sbpilot.path.bin=C:SBRFloadparm.exe
sbpilot.path.bin=C:SBRFdowindow.bat

sbpilot.path.bin=C:sc552loadparm.exe
sbpilot.path.bin=C:sc552dowindow.bat

Добрый день.
Это не тема моих коллег, возникла похожая задача по введению терминалов с Sb_Pilot, частично был повзаимствован конфиг из соседней темы, но похоже проблема однотипная

Вернуться к началу

Профиль  

dimOn

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 20 апр 2018, 15:06 



Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244

Цитата:

Лог-файл должен получить 2 новые строки (до: 0, после: 0)

99% что вы неправильно указали путь в sbpilot.path.e2 (но что -то там указали) и файл просто не находится

в новой версии плагина пишется какой файл пытается читать, вам надо обновляться, у вас всё равно скорее всего новый сбпилот который в старой не поддерживается, версии какие, about покажите

_________________
I’m clever. I’ve got a computer.

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 20 апр 2018, 17:08 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

dimOn писал(а):

Цитата:

Лог-файл должен получить 2 новые строки (до: 0, после: 0)

99% что вы неправильно указали путь в sbpilot.path.e2 (но что -то там указали) и файл просто не находится

в новой версии плагина пишется какой файл пытается читать, вам надо обновляться, у вас всё равно скорее всего новый сбпилот который в старой не поддерживается, версии какие, about покажите

Путь указан верно, вот настройки конфигурационного файла:

Код:

# полный путь до утилиты sb_pilot (под linux или windows), который принимает параметры согласно протокола
# или же любой бинарник/скрипт его заменяющий
#sbpilot.path.bin=/home/bill/sb-pilot/sb_pilot
sbpilot.path.bin=C:sc552loadparm.exe
sbpilot.path.bin=C:sc552dowindow.bat
# полные пути до файлов e и p, которые создаются утилитой (см.документацию по системе sb_pilot)
#sbpilot.path.e=C:sc552e
sbpilot.path.p=C:sc552p
# указывается в случае другой версии утилиты, которая вместо файла e создаёт лог-файл sbkernel.log
sbpilot.path.e2=C:sc552sbkernel%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

У меня установлены одни из последних обновлений:

Код:

Клиент: вер. 7.1.100 / 28.03.2018 22:19:46
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_92
  Сервер: вер. 7.1.969 / 28.03.2018 22:21:36
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_151

  card: вер. 7.1.186 / 21.03.2018 14:08:53
  dba: вер. 7.1.148 / 21.03.2018 14:09:26
  inet: вер. 7.1.584 / 28.03.2018 22:21:46
  npay: вер. 7.1.166 / 21.03.2018 14:10:10
  phone: вер. 7.1.225 / 21.03.2018 14:10:26
  reports: вер. 7.1.184 / 21.03.2018 14:10:51
  ru.bitel.bgbilling.plugins.bonus: вер. 7.1.96 / 21.03.2018 14:08:49
  ru.bitel.bgbilling.plugins.cashcheck: вер. 7.1.94 / 27.03.2018 19:38:02
  ru.bitel.bgbilling.plugins.sbpilot: вер. 7.1.30 / 21.03.2018 14:11:07
  tv: вер. 7.1.178 / 21.03.2018 14:07:13
  voiceip: вер. 7.1.174 / 21.03.2018 14:07:08

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 20 апр 2018, 17:09 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

Ошибка та же:
[INFO] Начало попытки проведения платежа…
cmd: «C:sc552dowindow.bat 1 100 0» (workdir: «C:sc552»)
out:
C:sc552>start /W C:sc552loadparm.exe 1 100 0

return value: 0
[INFO] Обработка результатов…
[ERROR] Ошибка при анализе выходного файла утилиты
ru.bitel.bgbilling.common.BGException: Лог-файл должен получить 2 новые строки (до: 0, после: 0)
[INFO] Печать документа…
[ERROR] Завершено: Ошибка работы модуля

Вернуться к началу

Профиль  

dimOn

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 21 апр 2018, 15:44 



Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244

нет, у вас старое, это недавно было сделано
возможно для 7.1 не вышло обновление, в пн теперь только

пока покажите файл
C:sc552sbkernel1804.log

_________________
I’m clever. I’ve got a computer.

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 23 апр 2018, 12:57 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

dimOn писал(а):

нет, у вас старое, это недавно было сделано
возможно для 7.1 не вышло обновление, в пн теперь только

пока покажите файл
C:sc552sbkernel1804.log

Добрый день, содержимое файла sbkernel1804.log:

Код:

20.04 13:58:52 LOADPARM: Loading GATE.DLL
20.04 13:58:52 GATE: SB_KERNEL.DLL is loaded
20.04 13:58:52 GATE: lock:’00000064′ ‘UPOSWINMUTEX2’
20.04 13:58:52 GATE: unlock:’00000064′
20.04 13:58:52 LOADPARM: GATE.DLL loaded
20.04 13:58:52 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
20.04 13:58:52 SBKRNL: Command = 11  1 100 0
20.04 13:58:52 SBKRNL: Open com 1
20.04 13:59:18 SBKRNL: Close com 1
20.04 13:59:18 SBKRNL: Result  = 4401
20.04 13:59:18 GATE: unlock:’0000005C’
20.04 13:59:18 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
20.04 13:59:18 GATE: unlock:’0000005C’
20.04 13:59:18 LOADPARM: Unloading GATE.DLL…
20.04 13:59:18 GATE: SB_KERNEL.DLL is unloaded
20.04 13:59:18 LOADPARM: GATE.DLL unloaded
20.04 13:59:29 LOADPARM: Loading GATE.DLL
20.04 13:59:29 GATE: SB_KERNEL.DLL is loaded
20.04 13:59:29 GATE: lock:’00000064′ ‘UPOSWINMUTEX2’
20.04 13:59:29 GATE: unlock:’00000064′
20.04 13:59:29 LOADPARM: GATE.DLL loaded
20.04 13:59:29 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
20.04 13:59:29 SBKRNL: Command = 11  1 100 0
20.04 13:59:29 SBKRNL: Open com 1
20.04 13:59:47 SBKRNL: Close com 1
20.04 13:59:47 SBKRNL: Result  = 4401
20.04 13:59:47 GATE: unlock:’0000005C’
20.04 13:59:47 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
20.04 13:59:47 GATE: unlock:’0000005C’
20.04 13:59:47 LOADPARM: Unloading GATE.DLL…
20.04 13:59:47 GATE: SB_KERNEL.DLL is unloaded
20.04 13:59:47 LOADPARM: GATE.DLL unloaded
20.04 14:00:34 LOADPARM: Loading GATE.DLL
20.04 14:00:34 GATE: SB_KERNEL.DLL is loaded
20.04 14:00:34 GATE: lock:’00000064′ ‘UPOSWINMUTEX2’
20.04 14:00:34 GATE: unlock:’00000064′
20.04 14:00:34 LOADPARM: GATE.DLL loaded
20.04 14:00:34 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
20.04 14:00:34 SBKRNL: Command = 11  1 100 0
20.04 14:00:34 SBKRNL: Open com 1
20.04 14:00:47 SBKRNL: Close com 1
20.04 14:00:47 SBKRNL: Result  = 4401
20.04 14:00:47 GATE: unlock:’0000005C’
20.04 14:00:47 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
20.04 14:00:47 GATE: unlock:’0000005C’
20.04 14:00:47 LOADPARM: Unloading GATE.DLL…
20.04 14:00:47 GATE: SB_KERNEL.DLL is unloaded
20.04 14:00:47 LOADPARM: GATE.DLL unloaded
20.04 14:01:39 LOADPARM: Loading GATE.DLL
20.04 14:01:39 GATE: SB_KERNEL.DLL is loaded
20.04 14:01:39 GATE: lock:’00000064′ ‘UPOSWINMUTEX2’
20.04 14:01:39 GATE: unlock:’00000064′
20.04 14:01:39 LOADPARM: GATE.DLL loaded
20.04 14:01:39 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
20.04 14:01:39 SBKRNL: Command = 11  1 100 0
20.04 14:01:39 SBKRNL: Open com 1
20.04 14:01:50 SBKRNL: Close com 1
20.04 14:01:50 SBKRNL: Result  = 0
20.04 14:01:50 GATE: unlock:’0000005C’
20.04 14:01:50 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
20.04 14:01:50 GATE: unlock:’0000005C’
20.04 14:01:50 LOADPARM: Unloading GATE.DLL…
20.04 14:01:50 GATE: SB_KERNEL.DLL is unloaded
20.04 14:01:50 LOADPARM: GATE.DLL unloaded

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 23 апр 2018, 19:26 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

dimOn писал(а):

нет, у вас старое, это недавно было сделано
возможно для 7.1 не вышло обновление, в пн теперь только

пока покажите файл
C:sc552sbkernel1804.log

Можно получить обновление для 7.1 ?

Вернуться к началу

Профиль  

dimOn

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 23 апр 2018, 20:35 



Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244

значит вы его неправильно всё-таки указали в конфиге или он не там лежит
в новой версии понятнее будет что он пытается читать

обновление уже должно быть, проверьте

_________________
I’m clever. I’ve got a computer.

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 24 апр 2018, 13:16 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

dimOn писал(а):

значит вы его неправильно всё-таки указали в конфиге или он не там лежит
в новой версии понятнее будет что он пытается читать

обновление уже должно быть, проверьте

Добрый день, после обновления оплата с карты перестала вообще проходить (раньше деньги списывались со счета но в биллинг не поступали)
код ошибки в биллинге:
[INFO] Начало попытки проведения платежа…
cmd: «C:sc552dowindow.bat 1 100 0» (workdir: «C:sc552»)
out:
C:sc552>start /W C:sc552loadparm.exe 1 100 0

Код:

return value: 0
[INFO] Обработка результатов…
log: 24.04 10:11:21 LOADPARM: Loading GATE.DLL
log: 24.04 10:11:21 GATE: SB_KERNEL.DLL is loaded
log: 24.04 10:11:21 GATE: lock:’00000064′ ‘UPOSWINMUTEX2’
log: 24.04 10:11:21 GATE: unlock:’00000064′
log: 24.04 10:11:21 LOADPARM: GATE.DLL loaded
log: 24.04 10:11:21 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
log: 24.04 10:11:21 SBKRNL: Command = 11  1 100 0
log: 24.04 10:11:21 SBKRNL: Open com 1
log: 24.04 10:11:43 SBKRNL: Close com 1
log: 24.04 10:11:43 SBKRNL: Result  = 4134
log: 24.04 10:11:43 GATE: unlock:’0000005C’
log: 24.04 10:11:43 GATE: lock:’0000005C’ ‘UPOSWINMUTEX2’
log: 24.04 10:11:43 GATE: unlock:’0000005C’
log: 24.04 10:11:43 LOADPARM: Unloading GATE.DLL…
log: 24.04 10:11:43 GATE: SB_KERNEL.DLL is unloaded
log: 24.04 10:11:43 LOADPARM: GATE.DLL unloaded
[ERROR] Вернулась ошибка: Ошибка #4134 (ОШИБКА)
[INFO] Печать документа не требуется
[ERROR] Завершено: Ошибка #4134 (ОШИБКА)

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 24 апр 2018, 13:50 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

При выводе сберовской утилиты после приглашения вставить банковскую карту и выполнения сего действия появляется ошибка 4134 Слишком долго не выполнялась сверка итогов на терминале

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 24 апр 2018, 14:23 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

lexusrid писал(а):

При выводе сберовской утилиты после приглашения вставить банковскую карту и выполнения сего действия появляется ошибка 4134 Слишком долго не выполнялась сверка итогов на терминале

Дополню пост, ошибка 4134 говорящая о том, что Слишком долго не выполнялась сверка решилась запуском утилиты Сбербанка loadparam и выбором в ней «Сверка итогов».
Платеж успешно проведен и зачислен на счет абоненту, в плагине CashCheck в поле очередь появился платеж на данного абонента.
Вопрос, как автоматом печатать чеки из данной очереди ?

Вернуться к началу

Профиль  

dimOn

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 24 апр 2018, 16:37 



Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244

результат работы определяется по коду возврата.
в данном случае Result = 4134 так и запишет. если код отличен от 0 то считается что не проведён платёж. коды он никак не интерпретирует, не понимает и все вопросы к терминалу дальше.
этот вопрос решили в итоге, как я понимаю.

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

http://wiki.bitel.ru/index.php/%D0%9F%D … 0%B5%D0%B9

_________________
I’m clever. I’ve got a computer.

Вернуться к началу

Профиль  

lexusrid

Заголовок сообщения: Re: sb_pilot + терминал сбербанка + для печати чеков АТОЛ55Ф

СообщениеДобавлено: 24 апр 2018, 17:00 

Не в сети



Зарегистрирован: 03 июн 2015, 14:00
Сообщения: 249
Карма: 5

dimOn писал(а):

результат работы определяется по коду возврата.
в данном случае Result = 4134 так и запишет. если код отличен от 0 то считается что не проведён платёж. коды он никак не интерпретирует, не понимает и все вопросы к терминалу дальше.
этот вопрос решили в итоге, как я понимаю.

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

http://wiki.bitel.ru/index.php/%D0%9F%D … 0%B5%D0%B9

Да, вопрос решен и да, если ставить две галочки печать чека и приём по карте все срабатывает нормально, деньги зачисляются, чек генерируемый терминалом — печатается.
Про данный метод невешивания на приход я уже думал.
Еще один вопрос, в плагине sb_pilot в разделе под кнопкой дополнительные функции есть действия типа: x-отчет краткий, x-отчет полный, z-отчет и.т.д. , данные функциональные кнопки работают для платежного терминала?, а так же нет ли возможности снимать z-отчет по терминалу одновременно с закрытием смены по кассовому аппарату?

Вернуться к началу

Профиль  

Назначение плагина

Плагин предназначен для интеграции с терминалами сбербанка через систему/утилиты sb_pilot для приёма оплаты через банковские карты на рабочих местах кассиров.

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

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

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

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

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

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

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

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

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

Необходимость донастройки заключается в том, что утилита работает в архаичной однобайтовой кодировке koi8-r. Потому для корректного отображения окна с приглашением ввода карты, меню и т.д. потребуется обернуть вызов утилиты в скрипт, который установит текущую локаль, шрифты, а также, при желании, размер окна, расположение, заголовок и т.п.. Предпочтительнее использовать именно скрипт вместо прописывания длинной строки запуска в параметре sbpilot.path.bin.

Скрипт можно написать совершенно любой под любой эмулятор терминала. Суть скрипта заключается в том, чтобы корректно отобразить на экране утилиту sb_pilot. Окно должно ожидать завершения каких-либо действий, а после завершения работы утилиты — закрываться. Также скрипт должен передавать не менее четырёх параметров утилите sb_pilot, т.е. необходимы переменные $1 $2 $3 $4 в командной строке утилиты.

В линуксе при использовании gnome-terminal скрипт dowindow.sh может иметь, например, такой вид:

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

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

В данном случае для отображения кириллических символов, псевдографики и т. д. в 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 может выглядеть так:

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

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

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

Использование плагина

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

images/download/attachments/1607406/sbpilot-1.png

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

images/download/attachments/1607406/sbpilot-2.png

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

images/download/attachments/1607406/sbpilot-3.png

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

images/download/attachments/1607406/sbpilot-4.png

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

Посмотрите и покажите кассирам видео

Первичную настройку интеграции со сбером должны выполнять специалисты Сбербанка!

Касса напрямую не взаимодействует с пин-падом, всё общение производится через промежуточный софт Сбербанка: sbrf.dll или pilot_nt.dll — это библиотека, реализующая основные запросы к пин-паду:

Если коротко, то Касса запрашивает у sbrf.dll или pilot_nt.dll проведение оплаты на заданную сумму, далее библиотека выполняет все необходимые действия с пин-падом и возвращает программе результат операции (в виде числового кода). Расшифровку числовых кодов нужно запрашивать у Сбербанка.

Ниже приведены рекомендуемые настройки, которые должны быть прописаны со стороны Сбера

Запросите со стороны Сбера следующие настройки:

После установки и настройки sbrf.dll или pilot_nt.dll лежит где-то на диске C (C:SBFR, C:sc252 и т.п. где конкретно должен сказать специалист Сбера). Если всё настроено и «работает» то так же в этой папке должна быть программа loadparm.exe — если при запуске она показывает окошечко, значит связь с пин-падом есть, иначе — нет.

Бывает что настройка выполнена не полностью, в этом случае придется что-то делать руками.

pinpad.ini — файл с настройками связи с пин-падом:

Для того, что бы касса могла использовать sbrf.dll ее необходимо зарегистрировать в системе! Это, по идее, должны так же делать специалисты Сбербанка, но они этого не делают… обычно. В любом случае повторная регистрация не навредит:

Если используем pilot_nt.dll необходимо на каждом рабочем месте настроить переменную среды SB_PILOT_NT_PATH и указать в ней папку в которую установлена pilot_nt.dll (после настройки кассовое приложение необходимо полностью перезапустить, если до момента настройки оно было запущено, в случае автокассы необходимо перезапустить службу Jade.Cashdesk.Service).

Для настройки параметра нажмите «Пуск» и начните вводить «переменных среды»
Или нажать клавиши Win+R на клавиатуре, ввести sysdm.cpl и нажать Enter.

Запустите приложение, нажмите «Переменные среды», в группе «Системные переменные» нажмите «Создать…»

В имени переменной укажите SB_PILOT_NT_PATH, в значении папку с pilot_nt.dll:

Оплата производится с поддержкой аварийной отмены, т.е. при проведении платежа он переводится в «неподтвержденное» состояние, подтверждается платеж только после печати чека. В иных случаях операция буедт отменена и деньги вернутся на счет клиенту. Даже если программа/компьютер на мертво зависли, или вырубилось электричество, и т.п. — деньги будут возвращены при сверке итогов в конце дня.

В случае если при оплате/возврате возникает ошибка «Нет связи с пин-падом», или «Ошибка номер такой-то, смотрите подробности в таблице ошибок» — это означает что sbrf.dll — вернула программе соответствующий код ошибки и программа считает операцию не выполненной.

В случае проблем для диагностики нужно сообщить и прислать:

При потерях связи с пин-падом:

Эквайринг сбербанка поддерживает возможность просмотра журнала операций и отмены оных. Отмена транзакций протоколируется и выводится в специальном отчёте: Отмены транзакций эквайринга

sbkernel[yymm].log — лог операций библиотеки sbrf.dll за yy — год, mm — месяц. Ведется библиотекой в случае установки параметра PinpadLog=1 в pinpad.ini.

Ниже мы разберем две оплаты — успешную и сбойную. В логе красным приведены комментарии, некоторые комментарии приводятся единожды, при дальнейшем чтении лога следует держать их в голове, для понимания происходящего.

12.12 18:47:41 SBRF: (PID 3400, thread 0x000019F8) Clear Начало обслуживания

12.12 18:47:41 SBRF: (PID 3400, thread 0x000019F8) SParam: Amount=36000 Сумма платежа в копейках

12.12 18:47:41 SBRF: (PID 3400, thread 0x000019F8) NFun: 4000 Вызов ф-ии оплаты

12.12 18:47:41 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’

12.12 18:47:41 GATE: unlock:’00001788′

12.12 18:47:41 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’

12.12 18:47:41 SBKRNL: Command = 4000, Amount = 360.00

12.12 18:47:41 SBKRNL: Open com 6 Здесь sbrf.dll по всей видимости начинает общение с пинпадом, т.к. тут открытие порта

12.12 18:47:52 SBKRNL: Close com 6 А здесь оно закончило общение (т.к. порт закрывается), ниже есть такие же моменты, отдельно я на них акцентироваться не буду

12.12 18:47:52 SBKRNL: Result = 0, Amount = 360.00, Card = ‘3886′ Все прошло успешно (Result = 0)

12.12 18:47:52 GATE: unlock:’00001788′

12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’

12.12 18:47:52 GATE: unlock:’00001788′

12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’

12.12 18:47:52 GATE: unlock:’00001788′

12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’

12.12 18:47:52 GATE: unlock:’00001788′

12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) Returns: 0 Здесь уже результат передается к нам в программу

12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) NFun: 6003 Мы вызываем ф-ю 6003 (перевод платежа в неподтвержденное состояние) что бы если вдруг что, то при сверке итогов денежки человеку вернулись

12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’

12.12 18:47:52 SBKRNL: Command = 6003, Amount = 360.00, AuthCode = 278847

12.12 18:47:52 SBKRNL: Open com 6

12.12 18:47:52 SBKRNL: Close com 6

12.12 18:47:52 SBKRNL: Result = 0

12.12 18:47:52 GATE: unlock:’00001788′

12.12 18:47:52 GATE: lock:’00001788′ ‘UPOSWINMUTEX2’

12.12 18:47:52 GATE: unlock:’00001788′

12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) Returns: 0 Выше опять таки работа с терминалом, а тут возврат результата нам

12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) GParamString: RRN=934688849493

12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) GParamString: Cheque1251 size=1284

12.12 18:47:52 SBRF: (PID 3400, thread 0x000019F8) Clear

12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) Clear Здесь мы снова подключаемся к sbrf.dll после печати чека что бы передать подтверждение платежа (чуть ниже, ф-я 6001)

12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) SParam: RRN=934688849493

12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) SParam: Amount=36000

12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) NFun: 6001

12.12 18:47:58 GATE: lock:’0000179C’ ‘UPOSWINMUTEX2’

12.12 18:47:58 GATE: unlock:’0000179C’

12.12 18:47:58 GATE: lock:’0000179C’ ‘UPOSWINMUTEX2’

12.12 18:47:58 SBKRNL: Command = 6001, Amount = 360.00

12.12 18:47:58 SBKRNL: Open com 6

12.12 18:47:58 SBKRNL: Close com 6

12.12 18:47:58 SBKRNL: Result = 0

12.12 18:47:58 GATE: unlock:’0000179C’

12.12 18:47:58 GATE: lock:’0000179C’ ‘UPOSWINMUTEX2’

12.12 18:47:58 GATE: unlock:’0000179C’

12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) Returns: 0 sbrf.dll пообщалась с терминалом и вернула нам результат что всё хорошо

12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) GParamString: RRN=934688849493

12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) Clear

12.12 18:47:58 SBRF: (PID 3400, thread 0x000019F8) Clear

12.12 18:47:58 GATE: lock:’00000F2C’ ‘UPOSWINMUTEX2’

12.12 18:47:58 GATE: unlock:’00000F2C’

Описание

Если коротко то это сценарий оплаты с аварийной отменой, по сути мы даем в sbrf.dll три команды: 4000 (платеж), 6003 (перевести платеж в неподтвержденное состояние), 6001 (перевести платеж в подтвержденное состояние). Далее sbrf.dll общается с пинпадом сама, нам сообщая только результат операции (Result = 0, если не 0, то ошибка).

12.12 18:48:25 SBRF: (PID 3400, thread 0x000019F8) Clear

12.12 18:48:25 SBRF: (PID 3400, thread 0x000019F8) SParam: Amount=36000

12.12 18:48:25 SBRF: (PID 3400, thread 0x000019F8) NFun: 4000 Шлем оплату, после этого работает уже sbrf.dll

12.12 18:48:25 GATE: lock:’0000109C’ ‘UPOSWINMUTEX2’

12.12 18:48:25 GATE: unlock:’0000109C’

12.12 18:48:25 GATE: lock:’0000109C’ ‘UPOSWINMUTEX2’

12.12 18:48:25 SBKRNL: Command = 4000, Amount = 360.00

12.12 18:48:25 SBKRNL: Open com 6 Видим открытие порта, но дальше какой-то мрак, в логах нет ни закрытия порта, ни возвращения нам результата, ничего…

12.12 18:48:32 SBRF: (PID 3400, thread 0x000019F8) Clear

12.12 18:48:32 GATE: lock:’000011D8′ ‘UPOSWINMUTEX2’

12.12 18:48:32 GATE: unlock:’000011D8′

12.12 18:49:03 SBRF: (PID 3400, thread 0x000019F8) Clear

12.12 18:49:03 GATE: lock:’00001588′ ‘UPOSWINMUTEX2’

12.12 18:49:03 GATE: unlock:’00001588′

12.12 18:49:04 SBRF: (PID 3400, thread 0x000019F8) NFun: 6003 Тем не менее результат нам вернулся при чем был «успешным», т.к. здесь мы вызываем ф-ю 6003…

12.12 18:49:04 GATE: lock:’00000F34′ ‘UPOSWINMUTEX2’

12.12 18:49:04 SBKRNL: Command = 6003, Amount = 360.00

12.12 18:49:04 SBKRNL: Failed to open device \.COM6, err 5 И вот тут пошли проблемы с портом, sbrd.dll пытается его открыть, но не выходит (код ошибки 5, предположу что это код ошибки Windows, означает «доступ запрещен», т.е. 6 ком порт всё ещё открыт или не доступен по иным причинам).

12.12 18:49:04 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:05 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:05 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:05 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:06 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:06 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:07 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:07 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:07 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:08 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:08 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:09 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:09 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:09 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:10 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:10 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:11 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:11 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:12 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:12 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:12 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:13 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:13 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:14 SBKRNL: Failed to open device \.COM6, err 5

12.12 18:49:14 SBKRNL: Result = 99 Ну и под конец нам дают ошибку 99 — нет связи с пинпадом.

12.12 18:49:14 GATE: unlock:’00000F34′

Описание

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

Коды ошибок Windows

Понравилась статья? Поделить с друзьями:
  • Savefrom net ошибка error indexeddb api missing
  • Sc controlservice ошибка 1052
  • Savefrom net ошибка 500
  • Sc 819 ricoh ошибка
  • Sauter ek600 ошибки