WooCommerce: отладка проблем с оплатой через Яндекс.Кассу

Диагностика проблем с оплатой через Яндекс.Кассу в WooCommerce

Проблемы с оплатой через Яндекс.Кассу в WooCommerce часто проявляются следующими симптомами:

  • Клиент не может завершить оплату, процесс зависает на странице оплаты;
  • Заказ создается, но оплата не проводится, статус не меняется;
  • Возврат с ошибкой или пустой ответ от платежного шлюза;
  • В админке WooCommerce нет информации о платеже;
  • Ошибки в логах плагина Яндекс.Касса или WooCommerce.

Для начала нужно проверить системные логи WooCommerce и логи плагина Яндекс.Касса. Включите режим отладки в настройках плагина, чтобы получить подробные сообщения о запросах к API Яндекс.Кассы.

Шаги по решению проблем с оплатой через Яндекс.Кассу

1. Проверка настроек API и учетных данных

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

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

2. Проверка URL для callback и webhook

Яндекс.Касса отправляет уведомления о статусах оплаты на URL, указанный в настройках. Этот URL должен быть доступен из интернета и корректно обрабатывать POST-запросы.

Проверьте доступность URL через curl:

curl -I https://your-site.ru/?wc-api=yamoney

Если ответ не 200, исправьте настройки сервера или плагина.

3. Анализ логов плагина

Включите в WooCommerce > Статус > Журналирование логов и в настройках Яндекс.Касса отладку. Посмотрите логи на наличие ошибок, например:

ERROR: Invalid signature

Это указывает на несоответствие секретных ключей.

4. Проверка совместимости плагинов и темы

Некоторые плагины безопасности или кэширования могут блокировать callback-запросы от Яндекс.Кассы. Временно отключите кэш и плагины безопасности, чтобы проверить, решит ли это проблему.

5. Пример кода для проверки и логирования callback-запроса

add_action('woocommerce_api_yamoney', function() {
    $request_body = file_get_contents('php://input');
    error_log('Yandex.Kassa callback: ' . $request_body);
    // Здесь добавить обработку запроса, если нужна кастомизация
    http_response_code(200);
    exit;
});

Это позволит убедиться, что запросы доходят до WordPress.

Проверка результата после внедрения

  • Сделайте тестовый заказ в тестовом режиме Яндекс.Кассы и проверьте, что после оплаты статус заказа меняется на «Оплачен».
  • Проверьте логи плагина на отсутствие ошибок.
  • Проверьте, что callback-запросы успешно принимаются и обрабатываются (HTTP 200).
  • Проверьте, что уведомления клиенту и администратору отправляются корректно.

Частые ошибки и способы их устранения

  • Неправильный секретный ключ или ShopId: ошибка «Invalid signature». Проверьте ключи и перезапишите их.
  • Неправильный callback URL: запросы Яндекс.Кассы не доходят, заказ не обновляется. Проверьте доступность URL и настройки веб-сервера.
  • Блокировка запросов плагинами безопасности: временно отключите плагины типа Wordfence, reCaptcha, чтобы проверить.
  • Кэширование callback-запросов: исключите callback URL из кэширования в плагинах типа WP Rocket или LiteSpeed Cache.
  • Несовместимость версии PHP или WooCommerce: обновите плагины и PHP до рекомендованных версий.

Практические советы по безопасности и производительности

  • Используйте HTTPS на сайте обязательно для защиты оплаты.
  • Ограничьте доступ к callback URL по IP-адресам Яндекс.Кассы, если возможно.
  • Включите логирование ошибок на уровне сервера и плагина для своевременного обнаружения проблем.
  • Регулярно обновляйте плагин Яндекс.Касса и WooCommerce для совместимости с API.
  • Используйте плагин Clearfy Pro (https://wpshop.ru/plugins/clearfy?utm_source=wpdo.ru&utm_medium=article&utm_campaign=woocommerce-otladka-problem-s-oplatoy-cherez-yandex-kassu) для оптимизации и безопасности сайта.

Сравнение методов интеграции Яндекс.Кассы с WooCommerce

МетодПлюсыМинусыПример использования
Официальный плагин Яндекс.КассаАвтоматическая интеграция, поддержка обновлений, полная функциональностьЗависимость от обновлений, возможные конфликты с другими плагинамиУстановка из репозитория WordPress
Кастомная интеграция через REST APIГибкость, полный контроль над процессом оплатыСложность реализации, необходимость поддержки кодаИспользование WP REST API и SDK Яндекс.Кассы
Промежуточные плагины сторонних разработчиковМогут иметь дополнительные функции, например, интеграция с CRMРиск несовместимости, отсутствие официальной поддержкиПокупка или скачивание с маркетплейсов
Как автоматически удалять старые черные списки комментариев в WordPress
31.03.2026
Как создать настраиваемую настройку плагина WordPress с хранением в базе данных
22.12.2025
Как создать адаптивный блок с видео в WordPress с помощью OmniVideo
22.01.2026
Как изменить URL адреса постов в WordPress без использования стандартных пермалинков
26.12.2025
Как использовать WPCommunity для создания внутреннего комьюнити в WordPress
05.03.2026