Интеграция оплаты YooKassa на сайте

Подключение YooKassa: интернет-магазин, подписки, личный кабинет. Этапы интеграции и типичные ошибки.

Интеграция YooKassa на сайте — стандарт для приёма оплат в РФ: разовые платежи, услуги на лендинге, подписки в личном кабинете. Технически это API + webhook + обновление статуса заказа. Ошибки на этапе webhook и UX оплаты стоят реальных денег: двойные списания, «оплатил, но заказ не подтверждён». Разберём сценарии, этапы и типичные проблемы.

Сценарии оплаты

Разовый платёж в магазине, оплата услуги на лендинге, рекуррент для подписок — у каждого сценария свой flow в API.

Этапы

  • регистрация в YooKassa
  • тестовый контур
  • webhook на успешную оплату
  • обновление статуса заказа в CRM

Безопасность и webhook

Проверяйте подпись уведомлений от YooKassa — не доверяйте только IP. Статус заказа меняйте только после подтверждённого webhook, не по редиректу пользователя на «спасибо».

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

UX оплаты

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

Для подписок заранее опишите период списания и способ отмены — это снижает обращения в поддержку.

  • тестовые карты в sandbox перед продом
  • обработка отмены и возврата
  • синхронизация статуса в личном кабинете

Типичные ошибки

Дублирование заказов при двойном клике — блокируйте кнопку и используйте idempotency.

Нет связи оплаты с CRM — менеджеры не видят, что клиент уже оплатил.

Личный кабинет · интеграция под ключ.

Личный кабинет и подписки

Рекуррентные платежи требуют сохранения payment method и понятного UX отмены. Храните историю списаний и статусы в CRM.

При неудачном списании — email/push и grace period до блокировки доступа.

Сверка и бухгалтерия

Ежедневная сверка webhook-логов с реестром YooKassa. Расхождения — сигнал багов или дублей webhook.

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

Достаточно ли редиректа на «спасибо»?

Нет. Статус заказа меняйте только по подписанному webhook от YooKassa. Пользователь может закрыть вкладку до редиректа.

Как тестировать до продакшена?

Используйте тестовый магазин и тестовые карты YooKassa. Прогоните успех, отмену, повтор webhook.

Нужен ли чек 54-ФЗ?

Для большинства B2C онлайн-оплат — да, через облачную кассу и передачу данных в YooKassa. Уточняйте у бухгалтера под вашу модель.