Проектируем сайты, сервисы, интеграции и ИИ-автоматизации как рабочие инструменты бизнеса.

Фрагмент проекта студии Север
Услуги

Что можно заказать

Как подключить оплату на сайт: сценарии, чеки, статусы и безопасность

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

В статье узнаете:

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

Короткий ответ

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

Кнопка оплаты сама по себе не решает задачу. Бизнесу важно понимать, что произойдет после клика:

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

Если эти ответы не описаны заранее, интеграция превращается в набор случайных настроек.

Ситуация: клиент оплатил, а процесс не собрался

Представим образовательный центр. На сайте можно купить интенсив. Клиент выбирает курс, вводит телефон, оплачивает картой и ждет письмо с доступом.

На бумаге все просто. В реальности после запуска появляются вопросы:

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

Проблема не в платежном сервисе. Проблема в том, что оплату подключили как кнопку, а не как часть бизнес-процесса.

Когда бизнесу нужна оплата на сайте

Оплата на сайте нужна, если клиент должен завершить действие без менеджера. Это может быть покупка товара, предоплата за услугу, запись на мероприятие, оплата тарифа, бронирование, пополнение баланса или первый платеж в MVP.

Типичные сценарии:

Бизнес Что оплачивает клиент Что важно после оплаты
Образовательный центр курс, интенсив, консультацию письмо с доступом, статус в CRM, чек
Клиника предоплату приема или сертификат запись, филиал, услуга, уведомление администратору
B2B-сервис тариф или подписку роль пользователя, период доступа, закрывающие документы
Интернет-магазин заказ товаров остатки, доставка, чек, статус сборки
Строительная компания бронь замера или проект сделка в CRM, комментарий, ответственный
SaaS или MVP тестовый тариф аккаунт, платежный статус, аналитика

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

Какие сценарии оплаты бывают

Простая платежная ссылка

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

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

Платежная форма на сайте

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

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

Полная интеграция с заказами

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

Это основной вариант для интернет-магазинов, сервисов, курсов, личных кабинетов и MVP.

Рекуррентные платежи

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

Если эти правила не описать, поддержка быстро утонет в ручных разбирательствах.

Как устроена нормальная интеграция оплаты

Базовая схема выглядит так:

  1. Клиент выбирает товар, услугу или тариф.
  2. Сайт создает заказ со своим внутренним номером.
  3. Сайт отправляет платежному сервису сумму, описание, данные для чека и адрес возврата.
  4. Клиент проходит оплату на защищенной стороне платежного сервиса или во встроенной форме.
  5. Платежный сервис отправляет сайту уведомление о статусе.
  6. Сайт проверяет уведомление, обновляет заказ и сохраняет событие в журнале.
  7. Клиент получает письмо, чек, доступ или подтверждение.
  8. Менеджер, CRM, 1С или таблица получают нужные данные.

Важный момент: статус платежа лучше получать не только через страницу “Спасибо”. Надежнее опираться на серверное уведомление от платежного сервиса. В документации ЮKassa такие уведомления описаны как webhook/callback для событий платежей и возвратов.

Что нужно решить до разработки

Что именно продается

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

Где рождается сумма

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

Что считается успешной оплатой

Для бизнеса “клиент нажал оплатить” и “деньги подтверждены” – разные события. Нужны статусы:

  • заказ создан;
  • платеж ожидает подтверждения;
  • платеж прошел;
  • платеж отменен;
  • платеж отклонен;
  • возврат создан;
  • возврат завершен.

Что делать при ошибке

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

  • где хранится заказ до оплаты;
  • можно ли повторить платеж;
  • кто получает уведомление об ошибке;
  • что видит клиент;
  • как администратор найдет проблемный заказ;
  • можно ли безопасно повторить отправку статуса.

Кто отвечает за чек

Для российского бизнеса важен контур онлайн-кассы и фискализации. В 54-ФЗ описаны требования к применению контрольно-кассовой техники при расчетах. На практике нужно решить, кто формирует чек: платежный сервис, облачная касса, касса клиента или отдельный сервис.

Разработчику нужны не юридические общие слова, а конкретные поля: наименование позиции, количество, ставка НДС, признак способа расчета, email или телефон покупателя, сумма, возврат.

Таблица решений

Задача Достаточно простого решения Нужна интеграция
Разовый счет клиенту да не всегда
Предоплата консультации да если нужна CRM и чек с номенклатурой
Интернет-магазин нет да
Онлайн-курс с доступом после оплаты нет да
Подписка нет да
B2B-заказ с договором иногда если нужны счета, статусы и документы
MVP с проверкой гипотезы можно начать просто если платеж запускает сценарий продукта

Частые ошибки

Подключить кнопку без заказа

Если на сайте нет сущности “заказ”, платеж трудно связать с клиентом, услугой, UTM-метками и дальнейшей обработкой. В итоге деньги есть, а нормального процесса нет.

Полагаться только на страницу успеха

Клиент может не вернуться на сайт после оплаты. Страница успеха полезна для интерфейса, но статус нужно подтверждать через серверное уведомление.

Не передавать состав покупки для чека

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

Не хранить журнал событий

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

Не проверять повторные уведомления

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

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

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

Чек-лист перед запуском

Проверьте:

  1. Заказ создается до перехода на оплату.
  2. Сумма и состав покупки совпадают с тем, что видит клиент.
  3. Статус оплаты приходит через серверное уведомление.
  4. Повторное уведомление не создает дубль.
  5. Ошибка платежа понятна клиенту и администратору.
  6. Чек формируется по согласованным правилам.
  7. Возврат протестирован хотя бы на тестовой среде.
  8. CRM, 1С или таблица получают только подтвержденные данные.
  9. UTM-метки и источник заявки не теряются.
  10. Секретные ключи не доступны в браузере.
  11. Есть журнал платежных событий.
  12. Есть инструкция для менеджера: где искать заказ и что делать при проблеме.

Как мы подходим к такой задаче

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

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

Подключение оплаты на сайт
Интеграции сайта

Часто задаваемые вопросы

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

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

Что лучше: платежная ссылка или форма на сайте

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

Нужно ли подключать онлайн-кассу

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

Что такое webhook оплаты

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

Можно ли принимать оплату на WordPress или Tilda

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

Источники

Вывод

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

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

Подключение оплаты на сайт

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

Смотреть услугу