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

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

Облачная касса позволяет не держать ККТ в офисе, но не отменяет работу с кассой. Ее нужно зарегистрировать, подключить к ОФД, настроить реквизиты чеков и связать с источником платежных статусов.

Автор: Александр Пылев, Основатель Интернет Касса

Когда нужно формировать чек при онлайн-оплате

Отправляйте команду в кассу только после подтверждения оплаты. Не создавайте чек при оформлении заказа, переходе на платежную страницу или получении заявки: пока деньги не приняты, расчета нет.

До разработки разложите платежный поток на операции: полная оплата, предоплата, зачет предоплаты, доплата, возврат и исправление ошибки. Для каждого этапа задайте отдельное событие и набор реквизитов чека. Так бухгалтерия сможет сопоставить платежи, заказы и фискальные документы.

Не путайте три ситуации. Отмена до списания — деньги не приняты, чек не формируется. Возврат после оплаты — сформируйте чек возврата прихода. Чек коррекции — инструмент для исправления ошибки в ранее проведенном расчете или случая неприменения ККТ; он не заменяет штатный возврат и не нужен при простой отмене заказа.

Самозанятый на НПД не применяет ККТ для формирования чеков по этой схеме: он выдает чек через приложение «Мой налог» или подключенную к нему интеграцию.

Сценарии: интернет-магазин, услуги, подписка и доставка

Интернет-магазин с оплатой на сайте

Передавайте в кассу событие успешной оплаты из эквайринга, СБП или платежного агрегатора. В чек должны поступать позиции заказа, сумма, способ оплаты и другие настроенные реквизиты. Если клиент забирает уже оплаченный товар в пункте выдачи, второй чек на ту же оплату не создавайте.

Онлайн-услуги и запись

При записи с предоплатой формируйте чек на предоплату после ее поступления. Если клиент доплачивает после оказания услуги, отправьте отдельную операцию на доплату: не меняйте вручную первый чек и не удаляйте его из CRM.

Подписка и автосписания

На каждое успешное рекуррентное списание сформируйте отдельный чек. Интеграция должна получать статусы первого и повторных платежей, а также обрабатывать неуспешные списания, отмену подписки и возвраты. Схему платежей и чеков разберите в статье о запуске рекуррентных платежей.

Доставка и выездной расчет

Разделите предоплату на сайте и оплату, которую курьер принимает у клиента. Предоплату фискализируйте через интеграцию сайта, а для выездного расчета предусмотрите отдельный сценарий с ККТ, используемой курьером или сотрудником.

Как выбрать способ фискализации

Подключайте кассу к системе, которая получает финальный статус платежа и может подтвердить его через API платежного провайдера или журнал операций. Для типового магазина это платежный модуль или CMS. Если платежи и заказы ведет CRM, интеграцию можно строить от CRM. Для собственной платформы понадобится API кассы и обработчик webhook.

Готовый модуль подходит, когда CMS и эквайринг уже поддерживаются поставщиком кассы. API-интеграция нужна, если у вас собственный сайт, нестандартная логика заказов или несколько источников платежей. Сравнить варианты поможет материал «Облачная онлайн-касса: выбор, запуск и типовые сценарии для бизнеса».

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

Критерии выбора решения

Критерий Что проверить Что сделать
Источник платежа Где появляется и подтверждается финальный статус: эквайринг, СБП, CRM или приложение Подключите ККТ к этому источнику либо передавайте статус в единый платежный контур
Интеграция Готовый модуль, API, webhook, документация Для CMS используйте готовый модуль; для своей разработки согласуйте API-схему до запуска
Защита от дублей Проверка подписи webhook, уникальный ID платежа или заказа, идемпотентность Отклоняйте неподтвержденные уведомления и не создавайте второй чек по тому же ID
Операции Предоплата, зачет, доплата, возврат, подписка, коррекция Прогоните каждый сценарий на тестовых платежах
Ошибки Очередь, журнал статусов, повторная обработка, доступ бухгалтеру Повторяйте только неуспешные фискальные операции после проверки статуса
Реквизиты Номенклатура, сумма, ставка налога, контакт покупателя при его предоставлении, признаки расчета Передавайте поля из заказа и блокируйте отправку при критичных пустых значениях

Что может сделать «Интернет Касса»: подобрать облачную ККТ под сайт и платежный сервис, помочь с регистрацией и ОФД, подключить готовый модуль для CMS или подготовить схему API-интеграции. До подключения разберем ваш путь денег и список обязательных сценариев: оплата, предоплата, возврат и подписка.

Проверить совместимость CMS, эквайринга и облачной кассы

Пошаговый запуск: как пробить чек онлайн без ручной рутины

  1. Нарисуйте путь денег. Для каждого канала укажите, где платит клиент, кто получает платежный статус, какая ККТ формирует чек и кто разбирает сбой.
  2. Выберите модель и точку интеграции. Для сайта и подписки используйте облачную кассу. Для торгового зала или выездной оплаты предусмотрите отдельную ККТ и отдельный сценарий.
  3. Зарегистрируйте ККТ. Укажите кассу в сервисе ФНС, выберите ОФД, внесите параметры расчетов, установите и активируйте фискальный накопитель, получите подтверждение регистрации. Затем убедитесь, что касса связана с ОФД.
  4. Настройте реквизиты чека. Передавайте состав заказа, сумму, форму оплаты, признаки способа и предмета расчета, а также телефон или email покупателя, если он их предоставил.
  5. Защитите обработчик платежей. Проверяйте подпись и источник webhook. Для команды в кассу используйте уникальный идентификатор платежа или заказа: повторное уведомление с тем же ID не должно создавать новый чек.
  6. Добавьте очередь и правила повторной обработки. Сохраняйте статус каждой фискальной операции. Перед повторной отправкой запросите статус у платежного провайдера и кассы; повторяйте только операцию, которая действительно не была успешно фискализирована.
  7. Проведите тесты. Проверьте оплату, предоплату с доплатой, отмену до списания, полный и частичный возврат, а для подписки — повторное списание. Сверьте первый чек в журнале кассы, его передачу в ОФД и отправку покупателю.
  8. Настройте ежедневный контроль. Сопоставляйте успешные платежи с фискальными документами и назначьте сотрудника, который разбирает расхождения.

Если магазин работает на CMS, заранее сравните готовый модуль и API-доработку. Практические варианты подключения собраны в инструкции по выбору и запуску облачной кассы для интернет-магазина.

Ошибки, из-за которых теряются чеки

  • Чек формируется на заказ, а не на оплату. Исправление: отправляйте команду только после подтвержденного платежного статуса.
  • Повторный webhook создает второй чек. Исправление: используйте уникальный ID платежа, проверку подписи и идемпотентность команды в ККТ.
  • Предоплата и доплата попадают в один чек. Исправление: настройте отдельную операцию на каждый денежный этап.
  • Отмену путают с возвратом и коррекцией. Исправление: до списания чек не формируйте; после возврата денег создавайте чек возврата прихода; коррекцию используйте только для исправления ошибки или неприменения ККТ.
  • Возврат оформляют удалением заказа. Исправление: сохраняйте исходную продажу и создавайте отдельную операцию возврата.
  • Ошибки передачи никто не видит. Исправление: включите журнал статусов, очередь, уведомления и регламент обработки неуспешных операций.
  • Подписка не протестирована. Исправление: до запуска проверьте первое и повторное списание, отмену, неуспешный платеж, полный и частичный возврат.

Что сверить перед стартом

Проверьте четыре связки: платежный статус и заказ, платеж и команда в кассу, чек и ОФД, возврат и исходная продажа. Если любую из них нельзя отследить по ID платежа или заказа, добавьте журналирование до запуска.

На сайте ФНС России доступны сервисы и материалы по работе с ККТ. Для запуска вам нужен не общий поиск требований, а конкретный результат: ККТ зарегистрирована, ОФД подключен, первый чек передан и отображается в журнале операций.

Закрепите роли в коротком регламенте: владелец процесса отвечает за платежную схему, разработчик — за webhook и защиту от дублей, бухгалтер — за сверку, поддержка — за возвраты. Тогда ошибки не останутся между отделами.

Нужна готовая схема для сайта, оплаты по ссылке или подписки? «Интернет Касса» поможет выбрать облачную ККТ, зарегистрировать ее, подключить ОФД, настроить модуль CMS или API и проверить тестовые чеки. Оставить заявку на консультацию.

Частые вопросы

Можно ли пробить чек онлайн без собственной кассы?

Да, подключите облачную ККТ: физическое устройство размещается у поставщика, а чеки формируются по командам из сайта, CRM или платежного сервиса. ККТ нужно зарегистрировать в ФНС, подключить к ОФД и настроить передачу данных о расчетах; самозанятый на НПД вместо ККТ формирует чеки в «Моем налоге».

Когда пробивать чек: до отгрузки или после оплаты?

Формируйте чек после подтвержденного расчета, а не при создании заказа. Для предоплаты, доплаты и окончательного расчета настройте отдельные операции с корректными признаками расчета.

Нужен ли отдельный чек для возврата?

Да, при возврате денег сформируйте чек возврата прихода. Если платеж отменен до списания и деньги не приняты, чек не нужен; чек коррекции применяют для исправления ошибки или неприменения ККТ, а не вместо штатного возврата.

Подойдет ли одно решение для интернет-магазина и подписки?

Да, если решение получает статусы разовых платежей и каждого успешного рекуррентного списания. До запуска проверьте отмену подписки, неуспешное списание, полный и частичный возврат, а также защиту от повторного формирования чека.