Как подключить СБП на сайт с онлайн-кассой без сбоев в чеках и ОФД

как подключить сбп на сайт с онлайн-кассойСБП на сайте подключают связкой из платежной формы, серверного уведомления об успешной оплате и онлайн-кассы. Кнопка или QR-код СБП принимают деньги, но кассовый чек сами не создают. Чтобы чек ушел в ОФД без ручной работы, передавайте в ККТ подтвержденную оплату, номер заказа, сумму и состав покупки.

Рабочая цепочка выглядит так: покупатель оплачивает заказ → провайдер отправляет серверное уведомление → сайт проверяет уведомление и меняет статус заказа → касса формирует чек → ОФД принимает фискальный документ → покупатель получает электронный чек. Не запускайте фискализацию по странице «Оплата успешна»: покупатель может открыть ее без подтвержденного платежа.

Кому подходит СБП на сайте

Подключайте СБП для трех понятных задач: оплаты в корзине интернет-магазина, оплаты по ссылке после заявки и расчета по динамическому QR-коду в точке, у курьера или мастера. Выбирайте форму оплаты по воронке: корзине нужна кнопка на этапе checkout, менеджерским продажам — ссылка с номером заказа, очной продаже — QR-код, привязанный к конкретной сумме.

Если платит физлицо за товар, работу или услугу, включайте фискализацию в платежный сценарий. СБП не отменяет обязанность применять ККТ там, где она установлена законодательством. Информацию о применении ККТ и проверке чеков можно найти на сайте ФНС России.

Не смешивайте C2B-оплату и B2B-расчеты. Перевод по СБП от покупателя-физлица за заказ на сайте — это сценарий приема оплаты от клиента, для которого настраивают кассовый чек. Безналичный расчет между организациями или ИП — другой сценарий: обязанность применять ККТ определяется способом расчета и его условиями, поэтому не закладывайте автоматическую выдачу кассового чека только по признаку «оплата по СБП». Практические критерии собраны в материале о применении ККТ при расчетах юрлиц.

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

Какую схему подключения выбрать

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

Платежный сервис или агрегатор выбирайте, если хотите собрать СБП, карты, ссылки, уведомления и фискализацию в одном контуре. Задайте поставщику один проверочный вопрос: «После статуса “оплачен” кто отправляет задание в ККТ, где виден результат и как обрабатывается ошибка?» Ответ «это делает менеджер вручную» допустим только как аварийный регламент, но не как штатный процесс.

Модуль CMS сокращает разработку, если передает в заказ и кассу номенклатуру, количество, скидки, доставку, сумму и контакты для электронного чека. Модуль, который передает только общую сумму, усложнит частичный возврат и сверку продаж.

Сценарии бизнеса: как работает СБП с кассой

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

Покупатель выбирает СБП на странице оплаты. После подтвержденного уведомления сайт передает в кассу состав именно оплаченного заказа, а не текущую версию корзины. В карточке заказа сохраняйте идентификатор платежа, номер фискального документа и статус отправки чека.

Услуги и продажи по заявке

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

Точка продаж, курьер или мастер

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

Расчеты между организациями и ИП

Не обещайте кассовый чек для B2B-платежа по умолчанию. Сначала зафиксируйте плательщика, способ расчета и назначение платежа, затем настройте учетный и кассовый сценарий по правилам, применимым к вашей операции. Не объединяйте такие поступления в один поток с оплатами покупателей-физлиц: иначе возрастает риск неверной фискализации и ошибок в сверке.

Таблица критериев выбора решения для СБП и кассы

Критерий Что запросить у поставщика Что проверить до запуска
Тариф и комиссия Комиссию СБП, абонентскую плату, цену кассового сервиса, стоимость возврата и дополнительных модулей Рассчитайте стоимость на вашем среднем чеке и плановом числе платежей; сравнивайте полный платежный контур, а не только ставку СБП
Лимиты и выплаты Лимиты на операцию и период, сроки зачисления и выплаты, условия блокировок и сверки Подходит ли лимит для дорогих заказов и когда деньги становятся доступны бизнесу
Прием СБП Кнопку, динамический QR-код или платежную ссылку для вашего сценария Как создается платеж, где хранится его идентификатор и как сайт получает подтверждение
Фискализация Интеграцию с ККТ, статус фискального документа и очередь при ошибке Кто отправляет задание в кассу, как повторяется отправка и кто получает алерт об ошибке
Состав чека Передачу позиций, количества, скидок, доставки, сумм и контактов покупателя Совпадает ли чек с заказом без ручного ввода и можно ли вернуть отдельную позицию
Webhook и повторы Подпись уведомления, правила повторной доставки и уникальный идентификатор события Повторите одно уведомление: статус и чек не должны создаваться второй раз
Реестры и сверка Реестр платежей, выгрузку статусов и поиск по номеру заказа или платежа Можно ли ежедневно найти оплаченные заказы без чека и расхождения по суммам
Возвраты Полный и частичный возврат, связь возврата с исходным заказом и кассовый чек «возврат прихода» Проведите полный и частичный возврат, проверьте сумму, позиции и фискальный документ

Проверьте защиту обработчика уведомлений: сверяйте подпись или иной механизм подтверждения, который предусмотрел провайдер. Кроме того, храните идентификатор платежа и события. Это позволяет отклонить поддельное уведомление и не сформировать второй чек при повторной доставке webhook.

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

  1. Опишите статусы заказа. Зафиксируйте статусы «создан», «ожидает оплаты», «оплачен», «ошибка фискализации», «отменен» и «возвращен». Команду в ККТ отправляйте после подтвержденной оплаты.
  2. Подключите СБП. Получите доступ в кабинет, параметры API, адрес webhook, требования к проверке уведомлений и тестовый контур, если его предоставляет провайдер.
  3. Подготовьте кассу и ОФД. Проверьте регистрацию ККТ, доступность кассового сервиса, настройки организации и канал отправки электронных чеков.
  4. Настройте передачу заказа. Передавайте номер заказа, позиции, количество, скидки, доставку, сумму и контакты покупателя для направления электронного чека.
  5. Настройте обработку callback. Проверяйте подлинность уведомления, сохраняйте идентификаторы платежа и события, а повторную доставку одного события обрабатывайте без повторной фискализации.
  6. Создайте очередь фискализации. Если касса или ее API недоступны, поставьте задачу на формирование чека в очередь, повторите отправку по регламенту, зафиксируйте ошибку и отправьте ответственному сотруднику алерт.
  7. Проведите тестовую оплату. Сверьте сумму у провайдера, статус заказа, чек в кассовом кабинете, прием документа ОФД и доставку чека покупателю.
  8. Проверьте исключения. Повторите webhook, отключите тестово доступ к кассе и убедитесь, что платеж попал в список «оплачен, чек не сформирован», а после восстановления связи задача успешно обработалась.
  9. Проведите возврат. Сделайте полный и частичный возврат. В кассе должен сформироваться кассовый чек с признаком расчета «возврат прихода» с корректной суммой и возвращаемыми позициями.

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

Ошибки, из-за которых платежи и чеки расходятся

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

Сайт доверяет странице успешной оплаты. Возврат покупателя на эту страницу не равен подтвержденному зачислению. Исправление: меняйте статус заказа и создавайте чек по webhook после проверки его подлинности.

Повторный webhook создает второй чек. Провайдеры могут повторно доставлять уведомления при проблемах со связью. Исправление: храните уникальный идентификатор события и делайте обработчик идемпотентным.

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

В кассу уходит только общая сумма. Скидки, доставка и частичные возвраты перестают совпадать с заказом. Исправление: передавайте товарные позиции из заказа, а не формируйте ручную общую строку.

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

Что выбрать для запуска

Для интернет-магазина берите связку «корзина → СБП → серверное уведомление → облачная касса → ОФД». Для услуг и продаж через менеджера начинайте с платежной ссылки, если она передает в ККТ не только сумму, но и состав заказа. Для очной точки используйте динамический QR-код, привязанный к конкретной продаже.

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

Интернет Касса проведет аудит вашей текущей цепочки «сайт → платеж → ККТ → ОФД», подберет схему подключения СБП, проверит передачу состава заказа и поможет настроить callback, очередь ошибок и возвраты. Оставьте заявку на консультацию и получите план работ по запуску.

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

Нужна ли онлайн-касса, если на сайте подключен СБП?

Да, если вы принимаете от физлиц оплату за товары, работы или услуги и расчет подпадает под требования 54-ФЗ. СБП — способ оплаты, а не замена ККТ: после подтвержденного расчета касса должна сформировать чек и передать его через ОФД.

Передает ли СБП данные для чека в ОФД автоматически?

Нет, СБП сама не формирует кассовый чек и не передает его в ОФД. Эту задачу выполняет настроенная связка платежного провайдера или банка, сайта и кассового сервиса.

Можно ли подключить СБП на сайт через платежную ссылку?

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

Как скачать чек по номеру операции СБП?

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

Что проверить перед запуском СБП на сайте с онлайн-кассой?

Проведите тестовую оплату и сверьте платеж, статус заказа, чек в кассе, прием документа ОФД и отправку чека покупателю. Затем проверьте повторное webhook-уведомление, недоступность кассы и возврат с чеком с признаком расчета «возврат прихода».