как оформить кассовый чек при оплате через сбп — Оплата через СБП не заменяет кассовый чек. Если интернет-магазин или сервис принимает деньги за товар, работу или услугу и обязан применять ККТ, подтвержденный платеж нужно передать в кассу для фискализации.
Автор: Александр Пылев, Основатель Интернет Касса.
Рабочая схема для сайта: банк или платежный агрегатор подтверждает успешную оплату на сервере → сайт передает данные заказа в кассовый сервис → ККТ формирует чек → сведения уходят в ОФД. Для направления электронного чека покупатель должен предоставить номер телефона или email до расчета.
Да, чек при оплате через СБП нужен, если продавец обязан применять ККТ. СБП — это способ безналичной оплаты, а не основание отказаться от кассы. Базовые требования установлены Федеральным законом № 54-ФЗ; официальный источник разъяснений по применению ККТ — сайт ФНС России, текст нормативных документов удобно сверять через КонсультантПлюс.
При интернет-расчете без непосредственного взаимодействия с покупателем чек формируют не позднее рабочего дня, следующего за днем расчета, но до передачи товара. Однако в интеграции ставьте создание чека сразу после серверного подтверждения успешной оплаты: так платеж не потеряется в очереди, при сбое webhook или ручной сверке.
Не создавайте чек по нажатию кнопки «Оплатить», открытию QR-кода, переходу в банковское приложение или возврату клиента на страницу «Спасибо». Эти действия не подтверждают поступление денег. Триггер для кассы — уведомление банка или агрегатора о завершенном платеже, полученное и проверенное вашим сервером.
При предоплате, зачете предоплаты и доплате настройте отдельные кассовые сценарии под фактический расчет. Не пробивайте одну сумму дважды: сначала зафиксируйте получение аванса, затем его зачет или доплату при передаче товара либо оказании услуги.
Если деньги возвращены покупателю, оформите в ККТ «возврат прихода». Сам способ возврата и порядок действий берите из договора и документации банка или агрегатора: возврат не обязан технически проходить через тот же контур, которым был принят исходный платеж.
Подключите платежный модуль или API, который отправляет на ваш сервер подтверждение оплаты. После проверки уведомления сервер передает в облачную кассу состав заказа, сумму, реквизиты расчета и контакт для электронного чека, если покупатель предоставил его до расчета.
Ручная сверка поступлений по выписке не подходит как основной способ фискализации: она задерживает чеки и не защищает от пропусков. Если касса еще не выбрана, используйте инструкцию по выбору и запуску облачной кассы. Для интернет-продаж проверьте интеграцию с CMS, передачу номенклатуры и оформление возвратов.
Фискализируйте каждый подтвержденный платеж отдельным документом с фактическим составом услуги. Для аванса и последующего оказания услуги заведите отдельные статусы: «предоплата получена», «услуга оказана», «предоплата зачтена» или «доплата получена».
Возврат запускайте из карточки исходного заказа, чтобы сотрудник видел первоначальный платеж и чек. При возврате денег создавайте «возврат прихода» в ККТ, а способ перевода покупателю выбирайте по возможностям и правилам платежного провайдера.
При расчете с непосредственным взаимодействием с покупателем выдайте бумажный кассовый чек. Вместо бумажного документа можно направить электронный чек, если покупатель до расчета предоставил телефон или email в порядке, предусмотренном для такого расчета.
Не откладывайте чек по оплате в торговой точке или на выезде «до вечера». Используйте ККТ в месте расчета либо заранее внедрите технически проверенный сценарий для выездной работы. Выбор оборудования для офлайн-продаж разобран в материале как выбрать кассу для розничного магазина.
Стройте интеграцию вокруг одного события: платежный провайдер подтвердил успешную оплату на сервере. Браузер покупателя не должен создавать чек: клиентский запрос можно подделать, а пользователь может закрыть вкладку до отправки данных.
В кассу передавайте:
Не заменяйте состав корзины одной строкой «Оплата заказа», если кассовый сервис принимает номенклатуру. Передавайте реальные позиции: это упрощает сверку продаж, возвраты и ответы покупателю.
В карточке заказа храните номер заказа, референс СБП, ID webhook, ID запроса в кассу, номер фискального накопителя, номер фискального документа и фискальный признак. Тогда поддержка найдет чек по заказу, времени платежа или банковскому идентификатору.
Если вы подключаете карты и СБП одновременно, используйте руководство по подключению онлайн-эквайринга на сайте. Выбирайте поставщика, который передает серверные статусы, поддерживает возвраты и описывает поля для кассовой интеграции.
| Схема | Что проверить | Преимущество | Кому подходит |
|---|---|---|---|
| Готовая связка банка или агрегатора с кассой | Передачу позиций, контакта, статусов оплаты и возврата | Быстрый старт при типовой CMS | Небольшому магазину со стандартной корзиной |
| Агрегатор и отдельная облачная касса | Кто повторяет запросы, разбирает ошибки и ищет чек | Можно отдельно выбрать платежный и кассовый сервис | Магазину с несколькими способами оплаты |
| Прямая интеграция с облачной кассой | Очередь запросов, идемпотентность, авансы и возвраты | Контроль реквизитов и бизнес-логики | SaaS и сервисам с нестандартными расчетами |
| Собственная платежная и кассовая интеграция | Мониторинг, журнал событий, резервирование и поддержку | Максимальная гибкость | Компании со своей командой разработки и большим потоком платежей |
До подключения запросите тестовый сценарий и проверьте четыре операции: успешную оплату, отмену до оплаты, возврат денег и повторную доставку webhook. По каждой операции результат должен быть виден в заказе, кассовом кабинете и ОФД.
У банка или агрегатора запросите описание статусов СБП, формат и способ проверки webhook, порядок возвратов, доступные идентификаторы платежа и правила повторной доставки уведомлений. У кассового сервиса проверьте регистрацию ККТ, связь с ОФД, передачу номенклатуры, журнал документов и сценарии предоплат с возвратами.
Разработчику дайте конкретное ТЗ: какой статус создает чек, какие поля уходят в ККТ, как защищен webhook, где хранятся идентификаторы, как обрабатываются повторы и кто получает уведомление об ошибке. Бухгалтеру передайте схему предоплат и возвратов, а поддержке — инструкцию поиска чека по заказу и референсу.
Дополнительно ограничьте доступы к платежным и кассовым кабинетам, проверяйте подписи уведомлений и ведите журнал интеграционных событий. Практический список защитных мер есть в статье о безопасности платежей на сайте.
Нужна готовая связка для интернет-продаж? Оставьте заявку в Интернет Касса: подключим СБП, облачную кассу и ОФД либо возьмем на сопровождение интеграцию платежей, чеков и возвратов.
Да, если продавец применяет ККТ и принимает через СБП оплату за товар, работу или услугу, чек нужен. Сам способ оплаты через СБП не освобождает от применения ККТ; исключения возможны только при законном освобождении.
Да, при интернет-расчете без непосредственного взаимодействия с покупателем чек можно сформировать не позднее следующего рабочего дня после дня расчета и до передачи товара. Настраивайте фискализацию сразу после подтвержденной оплаты, чтобы не пропустить платеж из-за сбоя или ручной обработки.
Проверьте, получил ли кассовый сервис успешный статус платежа и передал ли покупатель телефон или email до расчета для электронной отправки чека. Частые причины — не доставлен webhook, запрос в кассу завершился ошибкой или контакт не сохранен в заказе.
Да, если референс СБП сохранен в карточке заказа вместе с идентификатором запроса в кассу и реквизитами фискального документа. Если связка не настроена, ищите операцию по номеру заказа, сумме и времени платежа в платежном кабинете, кассовом сервисе и ОФД.