Checkout WooCommerce nie działa: 8 przyczyn porzuconych płatności
Klienci dodają do koszyka, ale zamówienia nie spływają? Przechodzimy przez najczęstsze przyczyny zepsutej finalizacji zakupu, od konfliktów wtyczek po webhooki płatności, z instrukcją diagnozy.
Marcin Ledwolorz
CEO, APTURN
Krótka odpowiedź: zepsuty checkout to niemal zawsze jeden z ośmiu scenariuszy, a diagnozę zaczyna się od złożenia testowego zamówienia z otwartą konsolą przeglądarki (F12). Błąd JavaScript blokujący przycisk zamówienia, konflikt wtyczki z nowym checkoutem blokowym, cache serwujący nieświeży koszyk albo webhook płatności, który nie dochodzi: każdy z nich zostawia inny ślad. Poniżej pełna lista z objawami, po których je rozpoznasz.
Zacznij od tego
Złóż testowe zamówienie na własnym sklepie, na telefonie i na komputerze, na każdej metodzie płatności. Połowa właścicieli sklepów, które naprawiamy, dowiedziała się o problemie od klienta, tygodnie po tym, jak checkout przestał działać.
8 przyczyn, od najczęstszych
1. Błąd JavaScript blokujący finalizację
Przycisk 'Kupuję i płacę' nie reaguje albo kręci się w nieskończoność. W konsoli przeglądarki (F12, zakładka Console) widać czerwony błąd. Źródłem bywa konflikt wtyczek, agresywna optymalizacja JS przez wtyczkę cache albo skrypt motywu. Szybki test: czy problem znika na domyślnym motywie z wyłączonymi dodatkami na kopii sklepu?
2. Konflikt z checkoutem blokowym
Nowsze wersje WooCommerce używają checkoutu opartego na blokach, a część wtyczek (pola dodatkowe, kurierzy, faktury) wciąż wspiera tylko klasyczny checkout shortcode. Objaw: brakujące pola, znikające metody wysyłki albo płatności. Rozwiązanie: aktualizacja wtyczek do wersji wspierających bloki albo świadomy powrót do klasycznego checkoutu, dopóki dostawcy nie nadgonią.
3. Cache i koszyk
Strony koszyka i zamówienia nigdy nie mogą być cachowane, a sesje klientów muszą być świeże. Objawy złej konfiguracji: koszyk pokazuje cudze albo stare produkty, kwoty nie aktualizują się po zmianie ilości, klient wraca z bramki do pustego koszyka. Sprawdź wykluczenia cache dla koszyka, zamówienia i konta oraz cache serwera hostingu, nie tylko wtyczki.
4. Webhook płatności nie dochodzi
Klient płaci, pieniądze są, a zamówienie wisi jako oczekujące. Bramka nie może doręczyć powiadomienia zwrotnego: blokuje je zapora, zabezpieczenie hostingu albo błędny adres webhooka po migracji domeny. Diagnoza w logach bramki (status doręczenia powiadomień) i logach serwera. To osobny temat, który opisaliśmy szerzej w artykule o integracji płatności.
5. Walidacja pól, której nie widać
Formularz odrzuca zamówienie bez czytelnego komunikatu: winne bywa ukryte pole wymagane dodane przez wtyczkę, walidacja NIP-u albo kodu pocztowego nieprzyjmująca poprawnych wartości. Test: zamówienie jako gość z minimalnym zestawem danych, obserwując komunikaty przy polach.
6. Brak metod wysyłki dla adresu
Jeśli dla wpisanego adresu żadna strefa wysyłki nie zwraca metod, WooCommerce nie pozwoli dokończyć zamówienia. Zdarza się po edycji stref, przy nietypowych kodach pocztowych i po aktualizacjach wtyczek kurierskich. Sprawdź strefy wysyłki dla adresu, na który klienci zgłaszają problem.
7. Limity i timeouty serwera
Finalizacja zamówienia to najcięższy request w sklepie: tworzy zamówienie, odpytuje bramkę, wysyła maile, aktualizuje stany. Na słabym hostingu przy większym ruchu kończy się timeoutem: klient widzi błąd 500 albo pustą stronę, a zamówienie czasem i tak powstaje, co prowadzi do podwójnych płatności. Ślad znajdziesz w logach błędów serwera.
8. Tryb testowy albo wygasłe klucze bramki
Prozaiczne, ale częste: bramka w trybie sandbox na produkcji, wygasły klucz API po rotacji, niezaakceptowany nowy regulamin u operatora płatności. Objaw: płatność odrzucana od razu, dla wszystkich klientów. Sprawdź panel operatora płatności i status konta.
Kolejność diagnozy, która oszczędza czas
- Testowe zamówienie z otwartą konsolą przeglądarki: jest błąd JS czy nie?
- Panel bramki płatności: czy transakcje w ogóle docierają? Czy webhooki są doręczane?
- Logi błędów serwera z godziny testu: timeouty, błędy PHP?
- Test na kopii sklepu z domyślnym motywem: konflikt wtyczek czy konfiguracja?
- Dopiero teraz zmiany: pojedynczo i z testem po każdej.
Każda godzina zepsutego checkoutu to utracone zamówienia
Naprawiamy finalizację zamówień w WooCommerce: diagnoza z logów i konsoli, naprawa przyczyny, testowe zamówienie na końcu. Zgłoszenia sklepowe traktujemy priorytetowo.
Potrzebujesz pomocy z tym tematem?
Wdrażamy to, o czym piszemy. Porozmawiaj z nami o swoim projekcie - bezpłatna konsultacja bez zobowiązań.