Почему при оплате картой на сайте чек ОФД формируется с видом оплаты «Постоплата (в кредит)» и как это исправить

Программист Торговля и дистрибуция
← На главную

Рассмотрим распространенную ситуацию, с которой сталкиваются при интеграции интернет-магазина на базе платформы 1С-Битрикс с локальным фискальным регистратором (например, АТОЛ 22Ф через приложение BxDTO). После успешной оплаты заказа банковской картой через эквайринг (Яндекс.Касса / ЮKassa) чек, отправляемый в ОФД, отображает некорректную структуру итогов:

  1. Электронными: 0,00
  2. Постоплатой (в кредит): вся сумма заказа

В соответствии с требованиями 54-ФЗ и формата фискальных документов (ФФД 1.05), при онлайн-оплате банковской картой сумма должна проходить по чеку со значением «Электронными» (тег 1081), а постоплата должна быть равна нулю. Проанализируем, почему возникает эта ошибка и как её правильно устранить.

Причина возникновения ошибки

Выясним, как происходит передача данных о типе оплаты от сайта к фискальному регистратору. В драйверах ККТ (включая драйверы АТОЛ DTO) виды оплат строго закодированы определенными цифровыми индексами:

  1. 1 — Наличные (тег 1031)
  2. 2 — Безналичные / Электронные / Платежная карта (тег 1081)
  3. 3 — Предоплата / Зачет аванса (тег 1215)
  4. 4 — Постоплата / В кредит (тег 1216)
  5. 5 — Встречное предоставление (тег 1217)

Если в административной панели 1С-Битрикс в настройках оплат для безналичного расчета или эквайринговой операции указан цифровой код 4, BxDTO отправляет в драйвер кассы команду с типом оплаты под номером 4. Драйвер АТОЛ воспринимает индекс 4 строго как «Постоплата (в кредит)», обнуляя при этом реквизит «Электронными».

Настройка сопоставления оплат в 1С-Битрикс

Разберем по шагам, какие настройки необходимо внести в административной части интернет-магазина для исправления передаваемого тега:

  1. Перейдем в административный раздел сайта 1С-Битрикс.
  2. Откроем раздел настройки касс и способов оплаты: Магазин → Настройки → Кассы ККМ → Настройки оплат.
  3. Найдем параметры сопоставления видов оплат для используемой кассы.
  4. Изменим цифровой код для безналичных и эквайринговых операций:

    Изменим значение параметров «Безналичный» и «Эквайринговая операция» с 4 на 2.

  5. Сохраним внесенные изменения.

Проверка таблицы оплат в драйвере АТОЛ

Проверим соответствие индексов оплат на компьютере, где запущен служба печати чеков (ПО BxDTO):

  1. Запустим утилиту «Тест драйвера ККТ» от компании АТОЛ.
  2. Установим связь с кассовым аппаратом и перейдем в раздел параметров оборудования.
  3. Найдем вкладку «Виды оплат» (или «Таблица оплат»).
  4. Убедимся, что в первой или второй строке (индекс 2) указано наименование «Электронными» или «Платежная карта». Индекс из этой строки должен полностью совпадать с цифрой, прописанной в настройках 1С-Битрикс.

Важные технические особенности

Обратим внимание на несколько критических моментов при работе связки 1С-Битрикс и фискального регистратора:

  1. Версии драйверов и модулей: Приложении BxDTO версии 1.x работало с ДТО9, тогда как BxDTO 2.x использует ДККТ10. Убедимся, что модуль интернет-магазина (модуль sale) и утилита BxDTO обновлены до актуальных версий для корректной передачи всех тегов ФФД 1.05.
  2. Монопольный захват порта: Служба BxDTO при работе постоянно удерживает порт подключения ККТ (USB, COM или TCP/IP). В момент работы службы пробить чек из сторонних программ (например, из локальной 1С:Управление торговлей) на эту же кассу без специального прокси-сервера не удастся.

После изменения цифрового кода сопоставления на 2 проанализируем следующий тестовый чек в ОФД: сумма операции будет корректно отражена в строке «Электронными», а поле «Постоплатой (в кредит)» станет равным нулю.

← На главную