WooCommerce: виправлення повторних статусів оплати
Про проєкт
Симптом Після оновлення платіжного модуля замовлення WooCommerce лишалися зі статусом «очікує оплату», хоча платіжний сервіс уже підтвердив транзакцію. Покупець отримував повторний лист-нагадування, а менеджер вручну звіряв кабінет банку з адмінкою магазину.
Що показала перевірка Webhook доходив до сайту двічі: перший запит оновлював суму, а повторний потрапляв у стару гілку обробки та повертав помилку через несумісність із новою версією WooCommerce. У журналі також лишався повний payload, хоча для діагностики достатньо було ID події, замовлення, коду відповіді.
Виправлення
- На копії магазину відтворив успішну оплату, повторний webhook, затримку відповіді, відхилений платіж.
- Оновив обробник так, щоб повторна подія не змінювала вже підтверджений статус.
- Додав перевірку суми та валюти до зміни замовлення; невідповідність переходить у журнал для ручного розбору.
- Прибрав зайві платіжні поля з логів, залишивши ідентифікатори для пошуку події. Після виправлення 120 тестових повторних повідомлень не створили дубльованих переходів статусу. За наступні чотири тижні частка оплачених замовлень, які потребували ручної звірки, знизилася з 6,2% до 0,9%. Платіжні налаштування не змінювалися; перевірялися тільки обробка відповіді та стан замовлення.
Додано 04.11.2026