Checkout nie działa w PrestaShop to najdroższa awaria sklepu: klienci wchodzą, dodają produkty do koszyka i odchodzą, bo nie mogą dokończyć zamówienia. Objawy bywają różne — brak metod płatności, błąd przy składaniu zamówienia, nieładująca się mapa Paczkomatów, zawieszone przejście do płatności. W 80% przypadków winne są moduły płatności i dostawy (często po cichej zmianie API operatora) albo nieudana aktualizacja. Diagnoza i naprawa: 200–600 zł netto za zgłoszenie; przy awarii blokującej sprzedaż liczy się każda godzina.
Najważniejsze: Checkout w PrestaShop diagnozujesz w kolejności: 1) ustal dokładny etap awarii (brak metod płatności, błąd przy zamówieniu, brak mapy Paczkomatów), 2) sprawdź logi modułu płatności/dostawy i
var/logs/, 3) przetestuj zakup w trybie incognito na testowym produkcie za 1 zł, 4) wyłącz podejrzany moduł i sprawdź, czy checkout wraca, 5) sprawdź webhooki i statusy zamówień w panelu operatora płatności, 6) zweryfikuj limity i klucze API (ShipX, Przelewy24), 7) testuj pełną ścieżkę na stagingu przed zmianami na produkcji.
- ## Krok 1: Ustal, na którym etapie checkout się psuje
„Checkout nie działa" to za mało precyzyjny opis. Sprawdź po kolei
- koszyk — czy dodawanie produktów i podliczanie kwot działa?
- dane klienta — czy formularz adresu się zapisuje?
- dostawa — czy metody dostawy się wyświetlają i czy koszty się liczą?
- płatność — czy metody płatności są widoczne? Czy przejście do bramki działa?
- potwierdzenie — czy zamówienie zapisuje się w panelu? Czy status się aktualizuje? Czy mail wychodzi?
Każdy etap ma innych podejrzanych: dostawa → moduły przewoźników, płatność → moduły bramek, potwierdzenie → webhooki i maile. Diagnozę zawężasz do jednego etapu.
- ## Krok 2: Logi modułów płatności i dostawy
PrestaShop 1.7+/8/9 ma wbudowane logi modułów (Moduły → wybrany moduł → Logi, o ile moduł je prowadzi) oraz logi systemowe:
-
var/logs/prod.log— błędy PHP, wyjątki, błędy integracji, -
logi hostingu — błędy żądań wychodzących do API operatorów,
-
panel operatora płatności (Przelewy24, PayU, Tpay) — statusy transakcji i webhooki,
-
panel przewoźnika (np. ShipX/InPost) — statusy przesyłek i kluczy API.
-
Szukaj:
Connection timeoutdo API operatora,401/403(klucze API),webhook failed,status not mapped. Jak czytać logi: logi PrestaShop. -
## Krok 3: Test zakupowy na żywym sklepie
Najszybszy test: produkt za 1 zł + zakup w trybie incognito. Zanotuj
- czy koszyk się liczy (kwoty, dostawa),
- czy metody dostawy się pokazują,
- czy metody płatności są dostępne,
- czy przejście do bramki płatności działa,
- czy zamówienie zapisuje się z poprawnym statusem,
- czy dochodzi mail z potwierdzeniem.
Jeśli test przechodzi, a klienci zgłaszają problemy — pytaj o szczegóły: przeglądarkę, urządzenie, wybraną metodę płatności, komunikat błędu. Awaria może dotyczyć tylko mobile, tylko BLIK-a albo tylko jednego przewoźnika.
- ## Krok 4: Wyłącz podejrzany moduł
Gdy logi wskazują moduł płatności lub dostawy
- wyłącz moduł i sprawdź, czy checkout wraca do działania (z inną metodą płatności),
- włącz go na kopii sklepu z trybem debug i odtwórz błąd,
- sprawdź changelog modułu — może wymaga aktualizacji po zmianie API operatora,
- jeśli moduł jest porzucony (brak aktualizacji od lat), rozważ wymianę na wspierany.
-
Pamiętaj: wyłączenie jedynej metody płatności = brak sprzedaży. Przy naprawie na produkcji zawsze miej alternatywną metodę aktywną. Procedura izolacji: konflikt modułów.
-
## Krok 5: Webhooki i mapowanie statusów
Zamówienia bez aktualizacji statusu to klasyczny problem webhooków
-
webhook nie dociera — sprawdź adres zwrotny (return URL) w konfiguracji modułu i czy nie jest blokowany przez firewall/WAF,
-
webhook dociera, ale status się nie zmienia — mapowanie statusów w module jest błędne; porównaj statusy operatora ze statusami sklepu,
-
duplikaty zamówień — webhook przychodzi podwójnie i sklep tworzy dwa zamówienia; potrzebne idempotentne przetwarzanie,
-
zamówienia „wiszą" w oczekujących — płatność przeszła, ale sklep nie dostał potwierdzenia; porównaj logi sklepu z panelem operatora.
-
Test: wykonaj płatność testową (tryb sandbox operatora, jeśli dostępny) i prześledź całą drogę webhooka. Dla Przelewy24: Przelewy24 w PrestaShop, dla InPost: InPost w PrestaShop.
-
## Krok 6: Klucze API i limity
Po cichej zmianie po stronie operatora awarie wywołują
- wygasłe lub zrotowane klucze API — klucz ShipX, token Przelewy24, dane API kuriera,
- zmiany w API — operator wyłącza starą wersję endpointu, moduł przestaje działać,
- limity zapytań — zbyt częste odpytywanie API (np. mapy Paczkomatów) kończy się blokadą czasową,
- brak wymaganego rozszerzenia — np.
curl,opensslwyłączone na hostingu.
Porównaj komunikaty błędów z dokumentacją operatora i zweryfikuj klucze w panelu. Rotacja kluczy po zmianie wykonawcy to standard.
- ## Krok 7: JavaScript i frontend checkoutu
Część awarii dzieje się po stronie przeglądarki — moduł płatności czy mapy Paczkomatów nie ładuje się, bo
- skrypt blokuje inny moduł (kolejność ładowania JS),
- motyw nadpisał szablon checkoutu i zgubił wymagany element,
- CSP (Content Security Policy) blokuje domenę skryptu,
- cache CDN serwuje starą wersję pliku JS.
Otwórz konsolę deweloperską (F12) na stronie checkoutu i sprawdź błędy JavaScript oraz żądania sieciowe (kody 4xx/5xx, blokady CORS). Testuj w trybie incognito, żeby wykluczyć cache przeglądarki.
Kiedy wezwać pomoc
Sam wykonasz: test zakupowy, odczyt logów, wyłączenie modułu i sprawdzenie kluczy API. Pomoc specjalisty ma sens, gdy
- checkout nie działa na produkcji i każda godzina to utracone zamówienia,
- logi nie wskazują przyczyny,
- problem dotyczy integracji z operatorem (webhooki, statusy),
- po naprawie chcesz zapobiec powtórce (monitoring, testy regresyjne checkoutu).
Zgłoszenia awarii sprzedażowych traktuję priorytetowo (reakcja do 4h). Stała pomoc techniczna z monitoringiem: pomoc techniczna PrestaShop.
Najczęściej zadawane pytania
Klienci nie mogą złożyć zamówienia — od czego zacząć?
Wykonaj test zakupowy produktu za 1 zł w trybie incognito i zanotuj, na którym etapie pojawia się problem. Następnie sprawdź logi modułu płatności/dostawy i var/logs/ z czasu zgłoszeń klientów — to zawęzi przyczynę do jednego modułu lub integracji.
Zniknęły metody płatności w checkoutcie — co się stało?
Najczęściej moduł płatności został wyłączony, wygasły jego klucze API albo po aktualizacji stał się niekompatybilny. Sprawdź, czy moduł jest aktywny, zweryfikuj klucze w panelu operatora i przejrzyj logi modułu. Szybki test: włącz inną metodę płatności i sprawdź, czy checkout działa.
Mapa Paczkomatów się nie ładuje — gdzie szukać przyczyny?
W kluczu API ShipX, blokadach JavaScript i konfliktach z innymi modułami dostawy. Sprawdź konsolę przeglądarki (błędy JS, blokady CSP), zweryfikuj klucz w panelu InPost Manager i przetestuj z wyłączonymi pozostałymi modułami dostawy. Szczegóły: InPost w PrestaShop.
Po aktualizacji checkout przestał działać — czy cofnąć aktualizację?
Najpierw wyłącz ostatnio aktualizowany moduł (płatności/dostawy) — to zwykle wystarcza. Jeśli błąd jest w rdzeniu, wykonaj procedurę z problemy po aktualizacji, włącznie z rollbackiem z kopii. Nie aktualizuj „na raz drugi" bez diagnozy.
Źródła i narzędzia
- PrestaShop DevDocs — checkout
- Przelewy24 — dokumentacja dla integratorów
- InPost ShipX — dokumentacja API
- Google Search Central — utrzymanie strony
👉 Checkout nie przyjmuje zamówień? Zgłoś awarię — sprzedażowe zgłoszenia mają priorytet: formularz kontaktowy lub kontakt@informatix.com.pl. Zobacz też pomoc techniczna PrestaShop.
📖 Zobacz też: maile z PrestaShop nie dochodzą, konflikt modułów i pomoc PrestaShop.