При работе в режиме рабочего места кассира (РМК) пользователи конфигурации 1С:Розница 2.3 (в частности версии 2.3.18.23 и выше) часто сталкиваются с неприятной ситуацией: при попытке оплаты чека картой терминал инициирует транзакцию, клиент успешно совершает оплату, однако окно ожидания в 1С не закрывается, и терминал выводит запрос на оплату повторно. Если кассир или клиент не проявят бдительность, это может привести к двойному списанию денежных средств с карты покупателя. Если же подождать около 30-40 секунд, система может "отвиснуть" и завершить фискализацию чека корректно.
В этой статье мы подробно разберем причины возникновения данной ошибки, проанализируем взаимодействие 1С с драйверами INPAS и предложим пошаговый алгоритм решения проблемы для терминалов PAX D230, PAX S300 и аналогичных моделей. Также рассмотрим аварийное пробитие чека при ошибке эквайринга.
Основным виновником нестабильного поведения системы является драйвер эквайринга. Проанализируем техническую сторону: в современных дистрибутивах часто поставляется компонента a_inpasdc1c83n версии 1.1.17.28. Эта версия поддерживает как 32-битные (x86), так и 64-битные (x64) платформы 1С. Практика внедрений показывает, что именно в x64-реализации этой компоненты заложена ошибка обработки обратного вызова (callback) от терминала — её поможет выявить мониторинг журнала регистрации с уведомлениями в Telegram.
Когда терминал завершает транзакцию и отправляет сигнал "Успешно" в 1С, 64-битный драйвер может неверно интерпретировать состояние сессии или "потерять" пакет данных. 1С, не получив подтверждения, считает запрос незавершенным и инициирует его повторно, что и приводит ко второму окну оплаты.
Что необходимо сделать:
a_inpasdc1c83n (с суффиксом "n").a_inpasDC1c83, которая поддерживает только 32-битную платформу.Терминалы PAX, работающие с банком Тинькофф, часто используют промежуточное программное обеспечение Smart Connector. Разберем ситуацию: в настройках 1С по умолчанию таймаут ответа от терминала может составлять 30 секунд. Если банковский сервер отвечает чуть дольше (например, из-за медленного Wi-Fi на терминале D230), 1С разрывает соединение по таймауту именно в тот момент, когда терминал уже получил одобрение от банка.
В результате драйвер пытается завершить транзакцию, но логика Библиотеки подключаемого оборудования (БПО) заставляет систему отправить повторный запрос, чтобы "уточнить" статус. Это выглядит как повторное окно оплаты.
Решение по настройке таймаутов:
Если вы используете стационарный терминал PAX S300, подключенный по USB, проблема может крыться в настройках питания операционной системы Windows. Рассмотрим механизм: драйвер INPAS крайне чувствителен к микро-разрывам связи. Если Windows на мгновение снижает питание порта для экономии энергии, сессия драйвера "засыпает". При получении ответа от терминала драйвер не может передать его в 1С, сессия восстанавливается со сбоем, и происходит дублирование команды.
Инструкция по настройке питания:
Модель PAX D230 часто подключается по Wi-Fi. Нестабильный сигнал приводит к потере пакетов подтверждения (ACK/NAK) между кассой и терминалом. Если пакет подтверждения получения статуса оплаты потерян, драйвер инициирует повторную передачу данных.
Проанализируем сетевые настройки:
Выясним, какой IP-адрес назначен терминалу. Крайне важно, чтобы адрес был статическим. Если роутер переназначит IP-адрес терминалу в процессе работы, 1С отправит запрос "в пустоту", а затем, после обновления кэша ARP, может отправить его снова, создав очередь запросов на самом терминале.
Рекомендация: Закрепите IP-адрес за MAC-адресом терминала в настройках роутера и в настройках драйвера в 1С указывайте именно IP, а не имя хоста.
В новых версиях "1С:Розница" активно используется механизм фоновой фискализации и система взаимодействия для оповещения пользователя. Рассмотрим ситуацию, когда эти механизмы мешают работе эквайринга. Если в настройках включена фоновая печать чеков, 1С может сразу после отправки команды на эквайринг попытаться начать другие операции, не дожидаясь модального закрытия окна оплаты.
Что стоит проверить в 1С:
%AppData%\Roaming\Inpas\. Удалите содержимое логов и временных файлов транзакций, предварительно закрыв 1С.Для гарантированного устранения проблемы мы рекомендуем следовать данному алгоритму:
a_inpasDC1c83 (x86), даже если используете современные релизы 1С. Это самое эффективное решение по отзывам технических специалистов.DoAmount или аналогичных методов инициации оплаты.Помните, что специалисты банка часто не видят проблемы на своей стороне, так как с точки зрения банковского сервера терминал просто дважды запрашивает авторизацию. Проблема локализована именно в связке "Драйвер — БПО 1С", и вышеописанные шаги помогут вам восстановить стабильную работу торговой точки. Для этой задачи есть оплата частями Т-Банка для 1С:Розница.