Как исправить ошибку 4301 при настройке эквайринга Сбербанка в 1С?

Системный администратор 1С v8.3 (Управляемые формы) Сфера услуг, туризм и социальный сектор
← На главную

При обновлении версий конфигураций 1С или переходе на новые обработки обслуживания эквайринговых терминалов многие специалисты сталкиваются с проблемами подключения. Рассмотрим классическую ситуацию: вы переходите со старой обработки СБРФ:Эквайринговые терминалы на рекомендованную новую 1С:Эквайринговые терминалы Сбербанк. Однако, когда вы нажимаете кнопку «Тест устройства» в настройках подключаемого оборудования, система выдает следующее сообщение:

"Тест не пройден. Ошибка при выполнении функции ТестУстройства, ответ терминала - Ошибка 4301"

При этом код ошибки отличается от стандартного кода 99 (который означает, что устройство вообще не найдено или порт закрыт). То есть 1С видит терминал, но что-то идет не так. Разберем по шагам причины этого поведения и выясним, как правильно настроить связь.

Проанализируем суть Ошибки 4301

Согласно официальной документации к библиотекам Сбербанка (UPOS), код 4301 расшифровывается так: «Кассовая программа передала в UPOS недопустимый тип операции».

Что это означает на практике? Когда вы нажимаете кнопку проверки в 1С, кассовая программа отправляет специфическую команду (запрос статуса) на терминал. Однако текущая версия библиотеки банка или прошивки самого терминала просто не знает такой команды или не считает ее валидной в данном контексте. Терминал не сломан, связь есть, но конкретно команда «Тест» не поддерживается.

Шаг 1. Игнорирование ошибки теста и проверка реальной операции

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

  1. Закройте окно настройки оборудования, даже если тест выдал ошибку 4301.
  2. Убедитесь, что пути к дистрибутиву (папке Сбербанка, обычно C:\SBRF\) указаны верно.
  3. Откройте рабочее место кассира (РМК) или документ оплаты платежной картой.
  4. Пробейте тестовый чек (оплату) на сумму 1 рубль.

Во многих случаях оплата, сверка итогов и возврат проходят абсолютно успешно. Если терминал распечатал слип-чек и одобрил операцию, значит, система работает исправно, и на ошибку теста можно закрыть глаза.

Шаг 2. Разберем версии драйверов (1.Х против 2.Х)

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

Если в 1С вы выбрали драйвер версии 2.Х, необходимо, чтобы со стороны Сбербанка (в папке дистрибутива на компьютере кассира) присутствовали обновленные файлы. В частности, драйвер 2.Х обменивается данными с терминалом преимущественно через системную утилиту sb_pilot.exe. Если банк установил вам старую сборку файлов, в которой нет этой утилиты, будут появляться ошибки 4301 или сообщения с кодом завершения операции 200. Проанализируйте содержимое папки Сбербанка и при необходимости запросите у техподдержки банка актуальный дистрибутив UPOS.

Шаг 3. Настройка сетевого подключения (по IP) и файла pinpad.ini

Очень часто ошибка подключения кроется в способе связи компьютера с терминалом. Если терминал подключен напрямую по USB-кабелю или COM-порту, он обычно работает сразу (если в системе установлены корректные драйверы виртуального COM-порта). Но если терминал работает по локальной сети (подключен Ethernet-кабелем к роутеру), потребуется дополнительная настройка конфигурационного файла pinpad.ini.

Рассмотрим, как правильно настроить сетевой терминал Сбербанка:

  1. Убедитесь, что инженер Сбербанка активировал в самом терминале режим работы по сети (TCP/IP) и присвоил устройству статический IP-адрес. Узнайте этот адрес (его можно распечатать через меню самого терминала).
  2. Откройте папку с установленным софтом Сбербанка (по умолчанию C:\sc552\ или C:\SBRF\).
  3. Найдите файл pinpad.ini и откройте его в любом текстовом редакторе (например, в Блокноте).
  4. Добавьте в файл настройки сетевого адреса и порта.

Посмотрим на пример того, какие строки необходимо добавить в файл:


PinpadIPAddr=10.1.1.55
PinpadIPPort=8888

Вместо 10.1.1.55 укажите реальный IP-адрес вашего устройства в локальной сети. Порт 8888 является стандартным для обмена данными со Сбербанком, но в редких случаях инженеры могут переназначить его на другой (уточните у техподдержки). Примечательно, что параметры ComPort и Speed, если они уже есть в файле, можно не удалять — библиотека автоматически переключится на сетевой опрос, обнаружив строки с IP-адресом.

Шаг 4. Диагностика через утилиту LoadParm

Чтобы исключить проблемы со стороны 1С, проверим работоспособность самого софта банка. В каталоге Сбербанка (где лежит pinpad.ini) найдите приложение LoadParm.exe.

Запустите его двойным кликом. В идеале на экране должно появиться диалоговое окно или консоль, которая успешно считает конфигурацию и свяжется с терминалом. Если LoadParm зависает, выдает системную ошибку или не видит терминал, значит, проблема 100% не в 1С. В этом случае необходимо изучить лог-файл sbkernel.log (лежит в этой же папке) и обратиться в техническую поддержку эквайринга для перенастройки самого терминала или обновления файлов в папке.

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

← На главную