Чудеса на виражах БПО с терминалом Сбербанка

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

Терминал у меня прописан так:

При входе в параметры подключения у меня выдавались вот такие параметры:

В демо-базе БПО 3.1 окно подключения такое же.

Тест подключения не проходил, это и не удивительно, в каталоге поставки от сбербанка файла pilot_nt нет:

В интернете пишут что sb_pilot используется для Linux.

Тогда я решил посмотреть, как выглядит это меню в типовой демо-базе Розницы:

Как видно, тут просто указан путь к дистрибутиву, а не путь к sb_pilot.

Тогда я подумал, что в Рознице используется другой драйвер оборудования, но нет, там такой же драйвер с идентификатором Драйвер1СЭквайринговыеТерминалыСбербанк.

Я сохранил общий макет Драйвер1СЭквайринговыеТерминалыСбербанк из обоих конфигураций, они оказались идентичными:

Я посмотрел, как прописан драйвер в обоих базах. В моей:

В Рознице:

Сейчас вижу, что не заполнено поле имя макета, но скорее всего дело не в этом.

Я попробовал изменить режим подключения — «Драйвер подключается из макета» заменил на «Драйвер установлен на локальном компьютере». Потому что предположил, что лучше создавать компоненту из Сбербанковских dll, зарегистрированных на компьютере ( AddIn.SberAcquiringTerminal ).

Получил ошибку, т.к. не все общие модули перенес из БПО:

Перенес этот модуль (и связанные) в итоге не смог установить драйвер:

Отладил код подключения в Рознице, он шел по отмеченными рамками шагам:

Причем в рознице параметры правильные определялись:

<?xml version="1.0" encoding="UTF-8"?>
<Settings>
   <Page Caption="Параметры">
      <Group Caption="Параметры подключения">
         <Parameter Name="DistribPath" Caption="Путь к дистрибутиву" Description="Путь к папке, содержащей библиотеку gate.dll" TypeValue="String" DefaultValue="C:\SBERBANK\PILOT_NT\" />
         <Parameter Name="CutSequence" Caption="Последовательность частичного отреза" Description="Строка из шестнадцатеричных кодов символов, параметр &quot;Последовальность в конце чека&quot; в tlv" TypeValue="String" DefaultValue="22" />
         <Parameter Name="Department" Caption="Номер отдела" Description="Номер отдела, по которому будут проводиться операции. 0 - первый отдел, -1 - выбор из меню при каждой операции" TypeValue="Number" DefaultValue="0" />
         <Parameter Name="PrintSlipOnTerminal" Caption="Печать документов на терминале" Description="Определяет, будет ли терминал самостоятельно печатает квитанции на своем принтере для операций" TypeValue="Boolean" DefaultValue="false" />
      </Group>
   </Page>
</Settings>

В общем, ничего не дало мне использование компоненты вместо макета.

Тогда поменял обратно на «Драйвер подключается из макета» и о чудо, настройки стали нормальными:

Возможно, нужно было очистить поле «Загруженный драйвер», при смене метода он очистился? Не знаю…

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

Среда: БПО 3.1, Розница 2.3.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 11

  1. ВЭЛ:

    При использовании новой Компоненты оборудования «1С: Эквайринговые терминалы Сбербанк 2.Х» должен использоваться новый банковский модуль upos из папки WinCLI (а не просто Win), работающий через sb_pilot, а не loadparm. А классический модуль с loadparm используется при предыдущей комоненте «1С: Эквайринговые терминалы Сбербанк» или старой («СБРФ: Эквайринговые терминалы»), работающей через зареганные библы sbrf.dll и sbrfcom.dll, а не по пути к папке с модулем, как в случае с новыми…

    • Алекс:

      ВЭЛ, подскажи пожалуйста поподробнее как подключить, если использовать новую компоненту оборудования «1С: Эквайринговые терминалы Сбербанк 2.Х» ? Или может где-то инструкция есть по подключению?

      Конкретно у меня при использовании этой компоненты, терминал не может соедениться с процессинговым центром :(.

      Помогите пожалуйста

      • я новую 2.Х не использовал, так что не могу сказать.
        в старой есть loadparm, где из командной строки можно проверить корректность работы терминала.

    • Алекс:

      Дело в том, что 1С: Эквайринговые терминалы Сбербанк 2.Х не работает с loadparam. А классическая компонента 1С: Эквайринговые терминалы Сбербанк работает только на платформе х86… Поэтому как ни крути надо заставить работать новую компоненту 1С с sb_pilot

      Если хоть у кого-то был опыт настройки и использования данной связки, откликнитесь пожалуйста

      • А вы используете 64-разрядного клиента 1С, так?
        НО раз 1с видит компоненту, но терминал не связывается, возможно что-то не то с настройками терминала?

  2. Алекс:

    Да, клиент 64-разрядный. Новая компонента 1С: Эквайринговые терминалы Сбербанк 2.Х подхватывает файлы, которые предоставили сотрудники сбербанка (sb_pilot). Передаёт в терминал данные по оплате, прикладываешь карту, идёт связь с банком… и всё на этом заканчивается. Я думаю, что действительно, дело в терминале, а точнее в новых файлах которые предоставили сотрудники, надо правильно их сконфигурировать для работы с терминалом. Чтобы терминал видел интернет и конектился по нужным адресам.

    Весь прикол ещё в том, что сами сотрудники не знают как работать с этим sb_pilot. Мне так прямо и сказали: файлы новые, мы не знаем как с ними работать. Вы первый кто запросил их ))

  3. Алекс:

    Ребята, всем спасибо! Проблему решил. Понизили версию обработчика. Всё заработало. По итогу клиент 1С х64 win работает с эквайрингом сбера

    • Денис:

      Алекс, здравствуйте. Подскажите пожалуйста подробнее. Что значит понизили версию обработчика? Я не силен в этих вопросах, а проблема такая же.

  4. Александра:

    Добрый день! А каким образом вы смотрите содержание реквизитов? Штатными средствами 1С или дополнительной обработкой?

Добавить комментарий для fixin Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *