Как подключить эквайринговый терминал ИНПАС к 1С:Розница и устранить ошибку 53?

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

Интеграция эквайрингового оборудования часто становится нетривиальной задачей, особенно когда речь идет о протоколах, требующих промежуточного программного обеспечения. В случае с терминалами ИНПАС основным связующим звеном выступает ПО Dual Connector. Распространенная ситуация в «1С:Розница 2.2» — когда тест подключения проходит успешно, но при попытке совершить транзакцию система выдает «Ошибку 53». В этой статье мы подробно разберем причины возникновения этой ошибки и пройдем по всем этапам настройки оборудования. Для проведения платежа при возникновении сбоев эквайринга можно использовать расширение для аварийного пробития чека.

Разбор природы ошибки 53

Для начала проанализируем, что именно сообщает нам терминал под кодом 53. В протоколе UNIPOS и системе SmartSale (на которой базируются решения ИНПАС) этот код чаще всего интерпретируется как «Операция прервана» или «Тайм-аут ожидания карты». Рассмотрим основные сценарии, при которых это происходит:

  1. Превышение времени ожидания: Если терминал ожидает карту более 10–15 секунд, а ответа от пользователя нет, соединение разрывается драйвером.
  2. Несоответствие идентификаторов: 1С отправляет запрос на терминал с определенным ID, но если в настройках Dual Connector этот ID не совпадает с прописанным в терминале, происходит сброс сессии.
  3. Логическая ошибка в коде валюты: Банковский процессинг отклоняет запрос, если код валюты в 1С (например, 810) не соответствует ожидаемому коду в ПО терминала (например, 643).

Шаг 1. Подготовка Dual Connector

Прежде чем приступать к настройкам в 1С, убедимся, что промежуточное ПО Dual Connector (DC) настроено корректно. Проанализируем файл конфигурации, который обычно находится в папке с установленным DC (например, dc_params.conf или аналогичный XML-файл).

Обратим внимание на следующие параметры:

Важно помнить: если терминал подключен по сети (Ethernet), Dual Connector все равно может создавать виртуальный COM-порт. Проверьте, чтобы в диспетчере устройств Windows этот порт был активен и не занят другими приложениями.

Шаг 2. Настройка идентификатора устройства (TID)

Выясним причину, по которой 1С может не «узнавать» терминал. В настройках подключаемого оборудования «1С:Розница» есть поле «Код устройства». Разберем, откуда взять правильное значение:

Посмотрим на чек «Проверка связи» или «Краткий отчет», который можно распечатать непосредственно из меню терминала. Нам нужен Terminal ID (TID) — это уникальный восьмизначный номер. Именно его необходимо вписать в поле «Код устройства» в 1С. Если ввести произвольное число, связь при тесте может установиться, но финансовая транзакция (оплата) будет обрываться с ошибкой 53, так как сервер авторизации банка не подтвердит связку «Касса - Терминал».

Шаг 3. Установка кода валюты

Проанализируем ситуацию с валютой. Несмотря на то, что «Розница» работает с рублем, для эквайринга критически важно передать правильный цифровой код. Существует два стандарта: 643 (современный код России) и 810 (старый код, который до сих пор используется во многих банковских системах внутри страны).

Выполним следующие действия в 1С:

  1. Перейдем в настройки эквайрингового терминала.
  2. Найдем поле «Код валюты».
  3. Попробуем установить значение 643. Если ошибка 53 сохраняется, сменим его на 810.

Также проверим справочник валют в самой базе 1С. Если у рубля стоит неверный цифровой код, это может влиять на формирование XML-пакета, который драйвер отправляет в Dual Connector.

Шаг 4. Устранение проблем с возвратами

Рассмотрим специфическую проблему, упомянутую пользователями: оплата проходит, а возврат вызывает ошибку 53. Это часто связано с тем, что 1С пытается выполнить операцию «Отмена» (Void) вместо «Возврата» (Refund).

Разберем разницу:

Если при возврате 1С мгновенно выдает ошибку 53, проверим, не установлен ли в настройках драйвера флаг «Использовать сверку итогов при закрытии смены». Также убедимся, что кассир не пытается сделать возврат «день в день» как обычный возврат, если банк требует в этом случае именно операцию отмены.

Шаг 5. Работа с компонентами драйвера

Если встроенный драйвер работает нестабильно, попробуем обновить интеграционную компоненту. Рассмотрим алгоритм загрузки внешней компоненты:

Скачаем актуальную версию драйвера ИНПАС:Эквайринговые терминалы UNIPOS (обычно это файл с расширением .zip или .epf). В 1С перейдем в «Администрирование» -> «Подключаемое оборудование» -> «Драйверы оборудования». Добавим новый драйвер из файла. Это поможет, если текущая встроенная версия 1С не поддерживает новые протоколы безопасности Dual Connector.

Пример программного обращения к методам драйвера (для разработчиков), если требуется отладка:


// Пример инициализации устройства через объект драйвера
Результат = ОбъектДрайвера.Подключить(ПараметрыПодключения);
Если Результат Тогда
    ОбъектДрайвера.ОплатитьПоКарте(СуммаЧека, НомерЧека);
Иначе
    Сообщить("Ошибка инициализации: " + ОбъектДрайвера.ОписаниеОшибки);
КонецЕсли;

Дополнительные рекомендации

Проанализируем права доступа. Программа Dual Connector и драйвер 1С часто обмениваются данными через временные файлы в папке C:\ProgramData\INPAS\ или в каталоге пользователя. Убедимся, что у пользователя Windows, под которым запущена 1С, есть полные права (чтение/запись) на эти папки. Отсутствие прав может блокировать запись логов или чтение ответа от терминала, что 1С воспримет как обрыв связи (Error 53).

Также стоит проверить разрядность системы. Если вы используете 64-битную версию платформы «1С:Предприятие», убедитесь, что компонента UNIPOS также имеет 64-битную версию. В противном случае используйте 32-битный клиент 1С, так как большинство драйверов эквайринга традиционно поставляются в 32-битном исполнении.

Следуя этим шагам, мы сможем локализовать проблему и добиться стабильной работы эквайринга ИНПАС в связке с «1С:Розница». Для сохранения данных эквайринговых операций пригодится решение для записи и хранения слипчеков банковского терминала в базе.

← На главную