Содержание

 

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

Важно!!! Перед прочтением данной статьи, рекомендуется ознакомиться с основной статьей по использованию и настройке связки банковских терминалов с кассами 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:\RKCLIENT\RKEEPER6.INI.
  • Модуль авторизации для взимодействия с пинпадом - SB_PILOT.EXE. Устанавливается на POS-терминал паралельно с кассовой программой. Через данный модуль может быть настроена связь с процессинговым центром банка, если на POS-терминале настроен прямой выход в интернет. Иначе, для связи с процессинговым центром будет использоваться дополнительный сервис - PSERVER.EXE.  Предоставляется и настраивается техническими специалистами банка.
  • Дополнительный модуль для взаимодействия с процессинговым центром - PSERVER.EXE. Используется по необходимости, например, если на кассовом POS-терминале  нет прямого выхода в интернет. Устанавливается на дополнительном ПК (OS Windows) находящимся в общей ЛВС с кассой и имеющим выход в интернет. Предоставляется и настраивается техническими специалистами банка.

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

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

 -> Оплата заказа на кассе кредитной картой (передача запроса) -> 
 -> Драйвер smpauth.dll ---> модуль авторизации SB_PILOT.EXE --->
 -> Выполнение действий с картой на пинпаде ---> модуль авторизации SB_PILOT.EXE ---(TCP или NETBIOS)---> 
 -> pServer (PSCON.EXE, PSERVER.EXE)--(Internet)--> Процессинговый центр.

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

Модуль авторизации - 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.

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

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

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

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

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

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

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

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

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

Sb_pilot.exe  - Запускаемый файл программы.
Updosmn.out   - Основной исполняемый модуль.
Updoscf.exe   - Вспомогательный редактор настроек.
Updosuz.out   - Служебный модуль-распаковщик (используется при удаленном обновлении ПО).
R003.r        - Файл ресурсов для редактора настроек.
Example.tlv   - Файл с настройками (готовится на Windows-машине с помощью программы TlvEdit).

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

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

Sb_pilot.exe <тип операции> <сумма операции> [<тип карточки> [<данные 2-й дорожки> [<дополнительные параметры>]]]

- где параметр <тип операции>  может принимать значения:

Операция

 тип  

Назначение

  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".

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

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

Параметр <дополнительные параметры> - поддерживаются следующие ключи:

    /d=номер_отдела (1,2,… 15)

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

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

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

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

Примечание

0,Успешно

4276********2106

10/09

013AU3

0007

VISA

1

00870001

20120403173415

 

481CF86160609155A2310BD83D7512BA34F48328

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

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

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

Код авторизации

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

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

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

Номер терминала

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

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

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

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

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

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

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

Sb_pilot.exe 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

[network.setup]
version=0x3110                     - Версия сетевого клиента.
netcard=a$e100b,1,A$E100B,1        - Имя сетевого адаптера.
    
               (Описание подключенных протоколов)
transport=tcpip,TCPIP              - TCP/IP присутствует.
...
transport=ms$netbeui,MS$NETBEUI    - NetBEUI присутсвует.

               (Номера интерфейсов (номер сетевого адаптера) для протоколов)
lana0=a$e100b,1,tcpip              - 0-й для TCP/IP.
lana2=a$e100b,1,ms$netbeui         - 2-ой для NetBEUI.
lana3=a$e100b,1,ms$ndishlp

[TCPIP]
NBSessions=12                      - Максимальное количество открытых NETBIOS-сессий.
IPAddress0=10 101 18 86            - IP-адрес POS-терминала.
SubNetMask0=255 255 255 0          - Маска подсети.
DefaultGateway0=10 101 18 1        - Шлюз. Если Шлюз в интернет не используется, то установить равным IP-адресу ПК, на котором запущен PServer.exe!!!
DisableDHCP=1                      - Получение IP-адреса с DHCP-сервера в сети (1-выключено, 0-включено).
DriverName=TCPIP$                  - 
BINDINGS=A$E100B                   -
LANABASE=0                         - Номер интерфейса для протокола TCP/IP (номер сетевого адаптера).

...
               (Описание параметров используемой сетевой карты)
[A$E100B]
ForceDuplex=Auto                 -
Speed=Auto-Speed                 - Автоопределение скорости обмена в сети.
...

[MS$NETBEUI] 
DriverName=netbeui$              -
SESSIONS=12                      -
NCBS=12                          -
BINDINGS=A$E100B                 -
LANABASE=2                       - Номер интерфейса для протокола NETBEUI.

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

[network]
...
lmlogon=0                       - входить в домен: 1 - да, 0 - нет
...

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

network]):
preferredredir=basic
autostart=basic

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

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

Название протокола

NetBIOS

Pipes

TCP/IP

preferredredir=basic или full

autostart=basic или full

preferredredir=full

autostart=full

NetBEUI

preferredredir=basic или full

autostart=basic или full

preferredredir=full

autostart=full

IPX

Не работает

preferredredir=full

autostart=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:\net\protocol.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:

[network]):
preferredredir=full
autostart=full

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

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

 

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

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

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

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

FILE HANDLES = 100
CASHE BUFFERS = 16
SHOW DOTS ON

LINK SUPPORT
MAX BOARDS 4
MAX STACKS 8

LINK DRIVER E100BODI        - Драйвер сетевой карты.
FRAME ETHERNET_802.2        - Первый в списке сетевой кадр по-умолчанию.
FRAME ETHERNET_802.3        - Дополнительный тип сетевого кадра.
FRAME ETHERNET_II           - Дополнительный тип сетевого кадра.
FRAME ETHERNET_SNAP         - Дополнительный тип сетевого кадра.

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

Порт хоста 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-порта, а через номер прерывания и базовый адрес. Эти реквизиты требуется предварительно уточнить.