Модуль кассы для сайта: выбор, подключение и запуск без лишних ошибок

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

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

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

Когда сайту нужен кассовый модуль

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

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

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

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

Интернет-магазин

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

Услуги, бронирование и предоплата

Не объединяйте предоплату и оказание услуги в один неопределенный сценарий. Подготовьте для интеграции карту документов — простую таблицу «что случилось → что передаем в кассу → какой документ формируем».

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

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

Подписки и рекуррентные платежи

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

Таблица критериев выбора модуля кассы для сайта

Критерий Что проверить Что делать
CMS и корзина Передает ли модуль позиции, количество, скидки, доставку и контакты покупателя. Проведите тестовый заказ с несколькими товарами и скидкой.
Платежное уведомление Есть ли проверка подписи вебхука; сверяются ли сумма, валюта и номер заказа. Не фискализируйте оплату по редиректу клиента или только по внутреннему статусу CMS.
Спорный статус Можно ли запросить актуальный статус операции у платежного провайдера. При неподтвержденном или противоречивом уведомлении сначала запросите статус у провайдера, затем создавайте чек.
Повторные вебхуки Проверяется ли уникальный идентификатор операции и хранится ли результат первой обработки. Настройте идемпотентность: один платеж — один кассовый документ.
Предоплата и доплата Поддерживаются ли отдельные документы на предоплату, доплату и зачет предоплаты. Согласуйте карту кассовых событий до разработки.
Возвраты Поддерживаются ли полный и частичный возврат из CRM или админки. Тестируйте возврат по рабочему маршруту сотрудника.
Электронный чек Передается ли контакт покупателя и виден ли результат отправки. Проверьте получение чека на реальном тестовом контакте.

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

  1. Перечислите способы оплаты. Укажите карты, СБП, платежные ссылки, оплату при получении, подписки и ручные платежи менеджера. Для каждого способа назовите платежного провайдера и источник финального статуса.
  2. Составьте карту кассовых событий. Это таблица для владельца и разработчика: событие, сумма, позиции, источник подтверждения, нужный кассовый документ и действие при возврате. Внесите оплату, аванс, доплату, зачет предоплаты, отмену, полный и частичный возврат.
  3. Выберите схему интеграции. Берите готовый модуль для стандартной CMS и простой корзины. Выбирайте API, если есть подписки, несколько витрин, личный кабинет, CRM или изменение состава заказа после оплаты.
  4. Настройте безопасную обработку платежа. Проверяйте подпись вебхука, идентификатор операции, номер заказа, сумму и валюту. При спорном уведомлении запрашивайте финальный статус у платежного провайдера. Не выпускайте чек по редиректу покупателя.
  5. Исключите дубли. Сохраняйте идентификатор платежа и результат первой обработки. Повторное уведомление не должно повторно отправлять заказ в кассу.
  6. Проведите тесты. Проверьте успешную и неуспешную оплату, аванс, доплату, зачет предоплаты, отмену, полный и частичный возврат, повторный вебхук и доставку электронного чека.
  7. Настройте контроль. Сверяйте успешные платежи со сформированными кассовыми документами. Расхождение должно попадать в отдельный список на разбор, а не закрываться вручную без следа.

Типичные ошибки при интеграции кассы с сайтом

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

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

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

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

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

После изменения реквизитов ККТ не обновлена связка сервисов. Исправление: проверьте настройки кассового сервиса, ОФД и интеграции после изменений. Порядок действий описан в статье «Перерегистрация онлайн-кассы: пошаговый порядок для бизнеса».

Когда выбрать модуль, а когда API

Выбирайте модуль, если у вас типовая CMS, стандартная корзина, один платежный провайдер и простой заказ без изменения позиций после оплаты. Модуль ускоряет запуск, но не отменяет тесты подписей вебхуков, возвратов и чеков.

Выбирайте API, если сайт работает с подписками, предоплатой и доплатой, несколькими витринами, личным кабинетом, нестандартными статусами или CRM. Поставьте разработчику конкретную задачу: передайте таблицу событий, сумм, позиций, правил проверки платежа, документов и возвратов.

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

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

Нужен ли модуль кассы для сайта, если уже есть интернет-эквайринг?

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

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

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

Что выбрать для нестандартного сайта: плагин или API?

Выберите API. Он нужен для подписок, нескольких способов оплаты, личного кабинета, нестандартных статусов заказов и интеграции с CRM.

Что проверить перед запуском модуля кассы?

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