Перше: Який це тип помилки?
Проблеми з оплатою в WooCommerce зазвичай поділяються на три категорії:
- Платіжний шлюз не завантажується — форма оплати не з'являється при оформленні замовлення
- Платіж не проходить у банку/процесора — клієнт отримує помилку від платіжного провайдера
- Платіж успішний, але замовлення не оновлюється — з клієнта списано кошти, замовлення залишається в статусі "Очікує"
Кожен випадок має різні причини.
Випадок 1: Платіжний шлюз не завантажується при оформленні
Просто не відображається варіант оплати на сторінці оформлення замовлення.
Спочатку перевірте:
- Перейдіть у WooCommerce → Налаштування → Платежі — чи увімкнено шлюз?
- Чи є невідповідність валюти? Більшість шлюзів працюють лише з певними валютами.
- Чи є помилки JavaScript у консолі браузера? (Правий клік → Дослідити елемент → Консоль)
- Чи встановлено для шлюзу мінімальну суму замовлення?
Типові причини:
- Конфлікт JavaScript з іншим плагіном
- Плагін кешування, який надає кешовану версію сторінки оформлення без скриптів оплати
- Несумісність теми з віджетом оплати
Тест: вимкніть ваш плагін кешування та перезавантажте сторінку оформлення. Також тимчасово переключіться на тему Storefront або Twenty Twenty-Three.
Випадок 2: Платіж не проходить у процесора
Форма оплати завантажується, але транзакція відхиляється або видає помилку.
Що перевірити:
| Симптом | Ймовірна причина |
|---|---|
| "Недійсний ключ API" | Неправильні ключі API в налаштуваннях плагіна (робочі проти тестових) |
| "Картка відхилена" від процесора | Відмова з боку банку, спробуйте іншу картку |
| Помилка SSL | Ваша сторінка оформлення не завантажується через HTTPS |
| "Валюта не підтримується" | Валюта вашого магазину не входить до списку підтримуваних шлюзом |
| Працює в тестовому режимі, але не працює в робочому | Робочі ключі не введені або обліковий запис не підтверджено |
Перевірте ваші ключі API:
Перейдіть у WooCommerce → Налаштування → Платежі → [Ваш шлюз] → Керування
Переконайтеся, що ви використовуєте робочі ключі (не тестові/пісочниці) і що вони точно збігаються з тими, що вказані в панелі керування шлюзом. Навіть один зайвий пробіл усе зламає.
Випадок 3: Платіж проходить, але замовлення залишається в статусі "Очікує"
Це найбільш заплутаний випадок. Банк клієнта списує гроші, але WooCommerce ніколи не оновлює статус замовлення.
Це майже завжди збій вебхука/IPN. Платіжні шлюзи надсилають зворотний виклик на ваш сервер після завершення платежу. Якщо цей зворотний виклик не вдається, WooCommerce ніколи не "дізнається", що платіж успішний.
Як налагодити:
- Перевірте панель керування вашого платіжного шлюзу на наявність невдалих доставок вебхуків
- Перевірте лог помилок вашого сервера на наявність помилок 500 у URL-адресі зворотного виклику
- Переконайтеся, що ваш сайт доступний з Інтернету (не за VPN або брандмауером проміжного сервера)
Типові причини збоїв вебхуків:
- Плагін безпеки блокує IP-адресу шлюзу
- Правила брандмауера на вашому сервері
- Проблема з сертифікатом SSL на URL-адресі зворотного виклику
- Проблема із закінченням сесії WooCommerce (рідко)
Формат URL-адреси вебхука Stripe:
https://yoursite.com/?wc-api=WC_Stripe
Перевірте, чи повертає ця URL-адреса код стану 200 із-поза вашого сервера.
Випадок 4: Учора працювало, сьогодні зламалося
Перевірте на:
- Нещодавнє оновлення плагіна або WooCommerce
- Нещодавню зміну версії PHP у вашого хостинг-провайдера
- Закінчення терміну дії або зміну ключів API (деякі шлюзи оновлюють ключі щорічно)
- Закінчення терміну дії SSL-сертифіката
Перевірка логів
WooCommerce має власну систему логування: WooCommerce → Статус → Логи
Відфільтруйте за назвою вашого шлюзу. Ви часто побачите точну відповідь API, яка пояснює помилку.
Також увімкніть журнал налагодження WordPress:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Коли залучати розробника
Якщо:
- Логи показують помилки, але ви не впевнені, що вони означають
- Налагодження вебхука потребує доступу до сервера
- Вам потрібна нестандартна інтеграція платіжного шлюзу, якої немає у вигляді плагіна
Проблеми з платіжними шлюзами мають високі ставки (зламане оформлення замовлення = нульовий дохід), тому варто виправити їх швидко. Розкажіть мені, що ви бачите, і я зазвичай можу діагностувати проблему з ваших логів помилок.