Чудеса на виражах БПО с терминалом Сбербанка
При подключении эквайринга от Сбербанка столкнулся с проблемой, решение которой было не очевидно.
Терминал у меня прописан так:
При входе в параметры подключения у меня выдавались вот такие параметры:
В демо-базе БПО 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="Строка из шестнадцатеричных кодов символов, параметр "Последовальность в конце чека" в 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.
При использовании новой Компоненты оборудования «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с видит компоненту, но терминал не связывается, возможно что-то не то с настройками терминала?
Да, клиент 64-разрядный. Новая компонента 1С: Эквайринговые терминалы Сбербанк 2.Х подхватывает файлы, которые предоставили сотрудники сбербанка (sb_pilot). Передаёт в терминал данные по оплате, прикладываешь карту, идёт связь с банком… и всё на этом заканчивается. Я думаю, что действительно, дело в терминале, а точнее в новых файлах которые предоставили сотрудники, надо правильно их сконфигурировать для работы с терминалом. Чтобы терминал видел интернет и конектился по нужным адресам.
Весь прикол ещё в том, что сами сотрудники не знают как работать с этим sb_pilot. Мне так прямо и сказали: файлы новые, мы не знаем как с ними работать. Вы первый кто запросил их ))
Ребята, всем спасибо! Проблему решил. Понизили версию обработчика. Всё заработало. По итогу клиент 1С х64 win работает с эквайрингом сбера
Алекс, здравствуйте. Подскажите пожалуйста подробнее. Что значит понизили версию обработчика? Я не силен в этих вопросах, а проблема такая же.
Добрый день! А каким образом вы смотрите содержание реквизитов? Штатными средствами 1С или дополнительной обработкой?
https://infostart.ru/public/100967/
Вот этой. The best в своем роде.