При обновлении конфигураций 1С (например, 1С:Розница) пользователи часто сталкиваются с необходимостью перехода на новую версию драйвера эквайринга Сбербанка — v2 (Native Api). Старый драйвер (v1) постепенно снимается с поддержки, так как он не поддерживает современные протоколы безопасности и работу с электронными сертификатами НСПК. Однако при переходе на новую версию часто возникает ошибка 4302, а привычная схема работы с несколькими отделами (организациями) на одном терминале перестает функционировать. Рассмотрим подробно, как решить эти проблемы. При необходимости сохранить прежнюю схему работы можно использовать решение для возврата старой версии драйвера Сбербанка в Рознице 2.3.
Разберем ситуацию: при попытке оплаты по карте терминал выдает ошибку 4302. Проанализируем протокол UPOS, который использует Сбербанк. Данная ошибка буквально означает «Отдел не найден» или «Ошибка в номере отдела». Основная причина кроется в изменении логики нумерации в разных версиях драйверов:
Если в настройках 1С после обновления остался номер отдела «0», драйвер v2 посылает этот индекс на терминал, который его не распознает, что и приводит к ошибке 4302. Если же установить «0» принудительно, терминал может перейти в режим ручного выбора организации, что крайне неудобно для кассира при большом потоке покупателей. Чтобы этого избежать, мы должны четко сопоставить настройки в 1С с настройками в конфигурационном файле pinpad.ini на самом устройстве.
Выясним, как правильно сконфигурировать 1С, если у нас одно рабочее место кассира, один терминал, но продажи ведутся от лица двух разных юридических лиц (организаций). Для корректной работы в драйвере версии 2 необходимо выполнить следующие шаги:
Пример распределения:
При такой настройке 1С будет автоматически передавать нужный номер отдела в зависимости от того, по какой организации пробивается чек. Это исключит необходимость ручного выбора на стороне терминала.
Проанализируем архитектурные отличия. Старая версия драйвера базировалась на технологии COM, что накладывало ограничения: она требовала использования 32-битного клиента 1С. Если ваша организация перешла на 64-битную платформу, старый драйвер просто не инициализируется.
Новый драйвер v2 реализован на технологии Native Api. Основные преимущества:
sb_pilot.dll (или pilot.dll) корректно работает с 64-битной платформой 1С.regsvr32.Часто после перехода на v2 пользователи замечают, что слип-чек (банковский чек) перестал печататься или печатается только фискальный чек. Разберем, как это исправить. В новой версии логика печати часто переносится на сторону 1С. Проверьте следующие параметры:
pinpad.ini в папке с банковским ПО (обычно C:\sc552). Параметр PrinterEnd=1 заставляет терминал ждать команды от кассы, а PrinterEnd=0 может инициировать автоматическую печать самим терминалом.Если после настройки номеров отделов (1, 2...) ошибка 4302 сохраняется, необходимо привлечь специалиста банка. Проблема может заключаться в том, что в конфигурации самого терминала (Merchant ID) прописаны под другими индексами.
Рассмотрим пример логики сопоставления, которую должен проверить инженер:
[Departments]
1=MerchantID_AAAAA
2=MerchantID_BBBBB
Только если в банковском конфиге отделы пронумерованы именно так, настройки в 1С (Отдел 1 и Отдел 2) вступят в силу корректно. Также рекомендуется обновить ПО терминала (UPOS) до версии не ниже 31.xx для стабильной работы с Native Api драйвером.
Подведем итог нашим действиям: если вы столкнулись с проблемами при обновлении эквайринга Сбербанка до версии 2, первым делом измените номер отдела с 0 на 1. Для работы с несколькими юридическими лицами создайте несколько карточек оборудования с привязкой к разным организациям и соответствующим ID отделов. Это позволит сохранить автоматизацию процесса и избежать конфликтов при печати чеков.