Когда в WooCommerce не проходит оплата, не просите клиента сразу повторить платёж. Сначала проверьте в кабинете провайдера, не было ли успешного списания или авторизации: сообщение «Ошибка» в браузере не всегда означает, что деньги не ушли.
Порядок безопасной диагностики
- Найдите заказ в WooCommerce → Заказы и зафиксируйте его ID, время, сумму и способ оплаты.
- Откройте заметки заказа: платежные расширения могут фиксировать коды ошибок, таймауты и изменения статуса.
- Найдите транзакцию в кабинете платёжного провайдера. Сверьте валюту и сумму; при необходимости обратитесь в поддержку провайдера.
- Если провайдер подтверждает успешную оплату, а WooCommerce держит заказ как Pending, проверьте серверные уведомления и callback/webhook согласно инструкции шлюза.
- В WooCommerce → Статус → Журналы просмотрите журнал нужного платежного расширения, если логирование было включено.
- Повторите тест в sandbox-режиме на staging, а не на средствах клиента.
Почему оплата ломается
- Выключен/не настроен метод или он не совместим с Checkout Block.
- Некорректные секреты API или режим тестовых ключей используется на боевом сайте.
- Сервер не получает уведомление о результате оплаты; мешает сеть, блокировка, защита или неправильный URL.
- Кеширование checkout либо конфликт Javascript нарушает последовательность переходов.
- Истекло время операции у провайдера, а заказ не получил ожидаемый статус.
Какие данные собирать при обращении в поддержку
Соберите ID заказа, точное время (с часовым поясом), идентификатор транзакции, статус шлюза, версию модуля и воспроизводимый сценарий. Не передавайте в тикет полный номер карты, CVV, токены доступа и другие секреты. Перед публикацией скриншотов замаскируйте персональные данные покупателей.
Если оплата прошла, а статус не обновился
Сначала выясните статус транзакции у провайдера и проверьте журнал получения подтверждения. Не делайте ручную замену статуса единственным способом исправления: проблема повторится на следующих заказах. После восстановления webhook протестируйте новый заказ и сверку результата.
Как исключить повторение
Проверьте журнал после обновления плагина, совместимость версии WooCommerce, обработку повторного webhook и корректное обновление заказов. Для кастомной интеграции важны идемпотентность и защита от обработки одного уведомления дважды.
Связанные инструкции: статусы заказов, способы оплаты, вебхуки WooCommerce.
Источник: https://woocommerce.com/document/troubleshooting-payment-errors/
Материал был полезен?
Помогите нам сделать материалы точнее и понятнее.