Весь процесс настройки системы можно разделить на два основных блока

  1. Предварительные настройки вспомогательных систем
    1. Подключение терминала
    2. Установка и конфигурирование Farcards и extspasibo.dll
  2. Настройки в системе r_Keeper 7
    1. PDS интерфейс
    2. MCR-алгоритм
    3. Драйвер терминала авторизации

Предварительные настройки

Подключение терминала

Прием платежей по банковским картам производится через терминал авторизации ил POS-терминал

Для настройки терминала:

  1. Получите от представителей сбербанка требуемое программное обеспечение, это можно сделать: 
    • При заключении договора организации со Сбербанком — их представитель производит установку терминала и дополнительного программного обеспечения. 
    • Обратившись в отдел обслуживания по предоставленным в договоре контактам за консультацией
    • Обратившись на почту pos@sberbank.ru
  2. В полученном программном обеспечении перейдите в папку SBRF > Config.
  3. Используйте TlvEdit.exe для настройки параметров самого терминала.
    В папке Дополнительные опции (FFFF13) укажите параметры:
    • Отчет при сверке итогов (DF8022) — Всегда краткий
    • Число копий чека (DF8023) — 2
    • Подтверждение перед сверкой итогов (DF8027) — Не спрашивать
    • Порядок выполнения операций (DF8031) По команде от ККМ, с печатью чека на кассе
    • Номер карты в отчетах (DF8040) — Закрыт в середине звездочками
    • Интервал статусных сообщений TTK2 — 0
    • Возвращать промежуточный код ответа (DF7D) 
      1. Для ручного сценария работы — Не возвращать
      2. Для автоматического сценарияПо картам Сбербанка


  4. В корне рабочего каталога содержится рабочий файл pilot_nt.dll и другие необходимые файлы настройки. В файле pinpad.ini укажите COM-порт подключаемого терминала. Номер COM-порта можно найти в диспетчере устройств.

Установка и конфигурирование Farcards и extspasibo.dll

Для работы Спасибо необходим установленный Farcards. Он может быть установлен на отдельном компьютере или на том же, что и кассовый сервер.
Подробную инструкцию по установке FarCards можно найти в статье установка и настройка системы ПДС

Установка дополнительного программного обеспечения

  • Установите PCX. Этот модуль необходим для работы с процессинговым центром Сбербанка
  • Установите сервер Firebird 2.5.9 и перезагрузите компьютер. Можно не устанавливать сервер, тогда используйте firebird embedded вариант.

Установка сертификата для работы с процессинговым центром

Для корректной работы бонусов необходимо установить сертификат для подключения на сервере PCX. Он выдается представителями Сбербанка индивидуально для каждой точки подключения.
Прежде чем переходить дальше по инструкции, установите сертификат. Инструкция по установке находится в статье установка сертификата для Спасибо от Сбербанка. 

Настройка Farcards

  1. Распакуйте актуальную версию Farcards fc604.7z
  2. Настройте файл Farcard.ini 

    ; Секция общих параметров 
    
    [FarServer]
    Type = 1
    
    ; укажите путь к ExtSpasibo.dll, должен совпадать с пунктом 3, пример:
    DLL = c:\UCS\RK7\fc604_Spasibo\ExtSpasibo.dll
    Gate = 1
    Log = 10
    XMLCP=1251
    
    ; Секция для перечисления библиотек связи
    
    [LinkDLL]
    1 = pds_net
    
    ; Секции с параметрами библиотек связи
    [pds_netk]
    NetServerName = Spasibo
    ininame=netk.ini
    DebugMessages=1
    CODE
  3. Настройте файл netk.ini

    [netkern]
    TESTMESSAGES=0
    protocols=tcpsoc.dll
    [TCPSOC]
    port=2334
    CODE
  4. Актуальную версию ExtSpasibo.dll — в инструкции использована версия 7.0.28.1, поместите в папку с Farcards.

Настройка конфигурационного файл Extspasibo.ini

Перед настройкой уточните в отделе Сбер"Спасибо": IT-help@spasibosb.ru свои:

  1. Partnerid
  2. TerminalID
  3. Location
  4. ConnectionString

Пример настройки Extspasibo.ini приведен ниже:

[Config]
Database=c:\UCS\RK7\fc604_Spasibo\EXTDLLDB.FDB
  
//сколько секунд между запросами карточки информация не перезапрашивается, по умолчанию 60 секунд (остатки автоматически изменяются при транзакциях)
CardCacheTime=60
  
//0 - только Init/done
//1 - сокращённый
//2 - всё кроме XML
//3 - всё
LogLevel=5
  
//для разбора XML:
//код валюты "Сапасибо"
SpasiboPayCode=126
  
//список кодов интерфейсов, который относятся к другим системам лояльности. Появление скидок или оплат от таких интерфейсов означает запрет списания/начисления бонусов
OtherLoyalty=7,10,23,1
// 12 - PDS
// 15 - CRM
  
//Коды валют, оплата которыми будет интерпретироваться, как оплата наличными
CashPayCodes=1
  
//Visa,Maestro,American express,Jcb,BCR card
//BankCardCodes=2,81,6,24,5,4
BankCardCodes=4
TerminalNameFormat=%0:d_TER%1:d
BadDishCodes=
//Таймаут в миллисекундах. Поддерживается начиная с 7.0.28.11
OperationTimeout=20000
  
;;[Test]
;;TransactionTestExtraDelay=13000
  
[Terminals]
//Необязательная секция позволяет переназначить кассу на другой терминал (другого партнёра),
//по умолчанию терминал совпадает с кодом станции
//<код ресторана>:<код кассы>=[<Partnerid>:]<TerminalID>
//7.6.5
3131:1=1450361:ucs
  
[locations]
3131=ucs
  
  
[PCX]
;;Боевой;;ConnectionString=https://xml-online.gift.korona.net:4443/axis.Partners/services/PCP_PartnersTerm_1005
  
ConnectionString=https://xml-online.demo.korona.net:20101/pcp2partners/services/CFTLoyaltyPCPoints_SoapPort
ConnectTimeout=30
SendRecvTimeout=60
CertSubjectName=SUBJ:testPC03
BackgndFlushPeriod=300
FlushTimeout=240
ProxyHost=
ProxyUserID=
ProxyUserPass=
  
//Ресторан
Location=ucs
PartnerID=1450361
  
[Business]
//все деньги в копейках, максимальное число 2000000000
//Минимальная трата бонусов
;;MinSpendLimit=25000
MinSpendLimit=1000
  
//Минимальная оплата другой валютой
MinPayOtherLimit=100
  
//Надо ли начислять бонусы (через банк начисляются по любому, но без нас)
ToAddPoints=1
  
//Список кодов категорий, которые нельзя оплачивать "спасибо"
IgnoreCategCodes=
  
  
[Log]
//Уровень логирования: 0 - логируются только ошибки, ..., 5 - логируется все (по умолчанию)
//не рекомендуется устанавливать что-то иное, кроме 5
Level=5
//Максимальный размер файла лога в байтах, при превышение файл переименовывается в архивный
//и лог пишется заново, в начало нового файла лога копируется инициализационный блок лога
//0 - отключение ограничения размера лога файла и архивирования при превышении (не рекомендуется)
RotateSize=10000
//Количество архивных файлов лога, при превышении самые старые архивные файлы удаляются
//0 - отключение архивирования файла лога (не рекомендуется)
RotateCount=5

SpasiboPayCode=126

Здесь 126 это код валюты для работы с программой "Спасибо" 

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

Интерфейс 24 SBRF_Spasibo привяжите к валюте, его настройки и связи описаны ниже:

BankCardCodes=4

Здесь 4 — код валюты, используемой или настроенной для расчета по карте через банковский терминал. Настроить ее можно так по инструкции ниже:

  1. В менеджерской станции перейдите в меню Деньги > Валюты
  2. Выберите используемую валюту
  3. В разделе Печать, в строке Назначение Принтера Авторизации — выберите Терминал авторизации
  4. В разделе Интерфейс поставьте галку в пункте Использовать терминал
  5. Сохраните изменения.

3131=ucs

Здесь 3131 — код ресторана к которому подключен кассовый сервер, ucs - в данном случае относится к location

Настройки в r_Keeper 7

PDS интерфейс

  1. В менеджерской станции перейдите в меню Сервис > Станции и устройства
  2. Нажмите правой кнопкой мыши в свободном поле вкладки Устройства. Выберите Список драйверов

  3. В появившемся списке выберите PDS interface
  4. На вкладке Опции заполните параметры созданного интерфейса:
    • PDS Server Name — имя NetServerName, в разделе [pds_netk], указанное при настройке FARCARDS.ini
    • Currency Rate Class Code — 1
    • Tax Code — 0
    • Call timeout — 120
    • Maximal Discount Value = 0 — Discount limit spent totaly
    • Defaulter Type Cade as — Defaulter type code
    • Look Up Card By Mail Addr — Yes, error on not found
    • Mail Addr Type Kind — 1
    • Pass ALL Receipts XML dat — On special pays, if possible
    • Authorize before transaction — Compatible

  5. В менеджерской станции перейдите в меню Сервис > Интерфейсы. Нажав правой кнопкой мыши, выберите новый интерфейс
  6. Назовите созданный интерфейс.
  7. В разделе Файлы библиотек (DLL) выберите свой ресторан, в строке с названием кассового сервера выберите созданный логический интерфейс
  8. В разделе Главное измените Cтатус на Активный. Сохраните изменения

 MCR-алгоритм

  1. В менеджерской станции перейдите в меню Сервис > Обработка сигналов устройств > MCR-алгоритмы
  2. Нажмите правой кнопкой мыши в списке с алгоритмами и выберите новый MCR алгоритм
  3. Назовите алгоритм. В разделе Основное в строке Объект выберите созданный интерфейс
  4. В строке Скрипт укажите:

    function MCR1001331(DeviceSignal: Integer; DeviceIdent: Integer; var Parameter: String): Boolean;
    var delimsat: integer;
    begin
      Result := (pos('SBRF:', Parameter) = 1) and (length(Parameter) > 6);
      if Result then begin
        delete(Parameter, 1, 5);
        if Parameter[1] = 'H' then
          delete(Parameter, 1, 1);
      end;
    end;

  5. Измените статус на Активный и сохраните изменения.

    Подробнее о MCR-алгоритме читайте в статье настройка алгоритмов

 Настройка драйвера терминала авторизации: 

  1. В менеджерской станции перейдите в меню Сервис > Станции и устройства
  2. Выберите свой ресторан, затем кассовый сервер и кассу для настройки
  3. Нажмите правой кнопкой мыши в пустом поле вкладки Устройства, затем выберите POS authorization terminal > Sberbank Pilot POS terminal driver (XML)
  4. Зажав левую кнопку мыши на драйвере, перетащите его в пустое поле вкладки устройства
  5. Затем заполните настройки драйвера в разделе Опции:
    • Log level — Error only. Двойным кликом можно изменить степень логирования.
    • MsgLanguage — ENG
    • Path to pilot_nt — путь до каталога с ПО Сбербанка.
    • HEX sequence to cut paper — 1B37
    • Purpose to print slip — {7DA9C7F9-7DAE-462F-9FC5-113E2E3810B2}
    • RemindLoyalty — No, необходимо только для ручного режима
    • RqstPrntFisc — No
    • SignalDeviceType — Магнитная карта
    • Device Identifier — 0 
    • UseLastAuthVoid — Yes (without card)
    • LogRotateSize — 1048576
    • LogRotateCount — 1
  6. Сохраните изменения
  7. Перейдите на вкладку Принтеры
  8. Нажмите правой кнопкой мыши и создайте новый принтер
  9. Введите название принтера. В разделе Печать поставьте галку в строке Журналировать. В разделе Основное в строке Модуль выберите добавленный драйвер Sberbank Pilot POS terminal driver (XML)
  10. Измените статус на Активный и сохраните изменения
  11. Перейдите на вкладку Свойства
  12. В разделе Назначения принтеров в строке Терминал авторизации выберите созданный ранее принтер
  13. Сохраните изменения

Далее, чтобы удостовериться в правильности настройки системы, проверьте процесс начисления бонусов "Спасибо" — подробная инструкция описана в статье проверка баланса "Спасибо" от Сбербанка

Если бонусы начислялись корректно, значит настройка "Спасибо" от Сбербанка завершена.

Также рекомендуем ознакомиться со статьями:

Разделение оплат по отделам продаж для одного терминала на несколько юридических лиц

В настоящее время Сбербанк предоставляет один терминал оплаты с возможностью оплаты по нескольким юридическим лицам. 
Выглядит это следующим образом: при расчете заказа, после отправки команды на оплату, на кассе отображается окно с выбором отдела – юридического лица на который должна произойти транзакция.

Для корректной настройки такого режима работы в базе r_keeper 7:

  1. Настройте оплату на 2 юридических лица в соответствии со статьей настройка печати чеков на 2 ФР
  2. Настройте использование терминала оплаты Сбербанка как указано в текущей статье,
  3. Создайте интерфейсы для работы с терминалом для каждого юридического лица

Далее произведите настройки на стороне ПО Сбербанк:

  1. Вызовите попыткой оплаты окно выбора отдела — сделайте его фото, нужен порядок следования отделов
  2. Скопируйте папку с ПО Сбербанк – обычно SC552 в корне, количество раз равное количеству отделов. Переименуйте их например, в: sc551 для ИП и sc552 для ООО
  3. В каждой папке, в файле pinpad.ini добавьте параметр Department=Х, где Х — цифра, порядковый номер отдела (1, 2, 3, ...), так как они отображались в меню выбора отдела (фото из п.1). Наименование папок SC55x удобно сделать по номерам отделов.
  4. Далее добавьте нужное количество драйверов пин-падов на станцию, завязанных каждый на свою папку ПО Сбербанка, создайте валюты для каждого терминала, ограничения по категории и т.п. как описано в статье привязка 2 терминалов авторизации к 2 валютам 

Анализ возможных проблем при работе с процессингом

Большинство возникающих проблем можно оценить по логам:

  1. Farcards — в папке с установленным модулем создадутся логи
  2. extspasibo — библиотека, использующаяся farcards.exe, находится в папке  с установленным farcards
  3. cvSbPlt — драйвер терминала авторизации, использующийся doscash.exe, сохраняет логи в папке кассовой станции к которой подключен
  4. Логам PCX — ActiveX компонент, использующийся extspasibo.dll, его можно найти c:\ProgramData\Cft\pcx\
  5. Логи кассового сервера midsrv.stk, с включенным отладочным сообщением 34