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