Jeżeli klient zakończył płatność iDEAL przez Mollie, ale zamówienie WooCommerce nadal ma status „Pending payment”, pierwszym podejrzanym powinien być przepływ informacji zwrotnej z Mollie do sklepu. Sam powrót klienta na stronę „Dziękujemy za zamówienie” nie jest tym samym co potwierdzenie płatności. Aktualizację statusu wywołują między innymi webhooki.

Dlatego nie zaczynaj od ręcznego oznaczania zamówień jako opłacone. Najpierw sprawdź, czy Mollie wysłało powiadomienie, czy WordPress je odebrał i czy wtyczka mogła przetworzyć je bez błędu.

Jak powinien działać poprawny przepływ?

  1. WooCommerce tworzy zamówienie.
  2. Klient przechodzi do Mollie i wybiera iDEAL.
  3. Mollie obsługuje płatność.
  4. Mollie wysyła do sklepu powiadomienie webhook o zmianie statusu.
  5. Wtyczka Mollie for WooCommerce pobiera/odczytuje aktualny status płatności.
  6. WooCommerce zmienia status zamówienia zgodnie z wynikiem płatności i konfiguracją.

Jeżeli krok 4 lub 5 się nie uda, klient może widzieć w banku zakończoną płatność, a sklep nadal czekać na potwierdzenie.

1. Sprawdź logi Mollie w WooCommerce

Dokumentacja Mollie zaleca rozpoczęcie diagnostyki od webhook notifications. Informacje o udanych i nieudanych wywołaniach są zapisywane w logach WooCommerce.

W panelu WooCommerce otwórz logi i wybierz plik związany z Mollie z czasu konkretnej płatności. Szukaj:

  • wejścia webhooku;
  • statusu HTTP;
  • błędu PHP;
  • informacji o nieznanym zamówieniu;
  • błędu autoryzacji/API;
  • komunikatu o zmianie statusu.

Najważniejsze jest powiązanie wpisu z konkretnym numerem zamówienia i identyfikatorem płatności Mollie.

2. Dlaczego webhook może nie dotrzeć?

Firewall lub ochrona serwera

WAF, Cloudflare, wtyczka security albo reguła serwera może potraktować wywołanie zewnętrzne jak ruch automatyczny i je zablokować.

Maintenance mode albo blokada strony

Staging zabezpieczony hasłem, tryb maintenance albo ograniczenie dostępu po IP może uniemożliwić Mollie dotarcie do endpointu.

Błąd 500 po stronie WordPressa

Webhook dociera, ale podczas jego obsługi WordPress generuje błąd. Wtedy trzeba sprawdzić log PHP i log WooCommerce z tej samej minuty.

Problemy z HTTPS lub przekierowaniem

Nieprawidłowy certyfikat, pętla przekierowań lub zmiana domeny może przerwać komunikację. Po migracji sklepu koniecznie wykonaj testową płatność.

3. Zaktualizuj Mollie for WooCommerce i sprawdź konflikt

Mollie wskazuje w dokumentacji, że nieprawidłowe aktualizacje statusów często mają związek z przestarzałymi wtyczkami albo z webhookiem, który nie został wywołany. Jeśli webhook przychodzi, ale zamówienie nadal się nie zmienia:

  1. sprawdź wersję WooCommerce;
  2. sprawdź wersję Mollie for WooCommerce;
  3. zrób kopię zapasową;
  4. na stagingu wyłącz dodatki modyfikujące statusy zamówień;
  5. wykonaj nową płatność testową.

Konflikty często powodują wtyczki subskrypcji, automatyzacji zamówień, custom statusów, ERP oraz dodatki, które reagują na ten sam hook po zmianie płatności.

4. Nie myl statusu Mollie ze statusem WooCommerce

System płatniczy i sklep używają własnych stanów. Płatność może przejść przez etapy typu open/pending/paid, a WooCommerce ma Pending payment, Processing, On hold, Completed i inne statusy.

Dokumentacja Mollie opisuje mapowanie statusów i zachowanie zamówienia w zależności od wyniku płatności. Dlatego problem nie zawsze brzmi „Mollie nie potwierdził płatności”. Czasem Mollie potwierdził, ale inna automatyzacja ponownie zmieniła zamówienie na niewłaściwy status.

Sprawdź notatki zamówienia

Otwórz konkretne zamówienie i przeczytaj notatki systemowe w kolejności. Jeżeli widzisz przejście do Processing, a chwilę później powrót do Pending, szukaj komponentu, który wykonał drugą zmianę.

5. Test kontrolny, który naprawdę coś mówi

Wykonaj jedno nowe zamówienie testowe na prostym produkcie i zapisz czasy:

  1. utworzenia zamówienia;
  2. przejścia do Mollie;
  3. potwierdzenia w iDEAL;
  4. powrotu do sklepu;
  5. wejścia webhooku w logu;
  6. zmiany statusu WooCommerce.

Jeżeli status zmienia się dopiero po ręcznym odświeżeniu panelu Mollie lub ponownym wywołaniu procesu, masz już dużo węższy obszar problemu niż „iDEAL nie działa”.

Holandia: nie wyłączaj iDEAL z powodu jednego błędu integracji

Dla sklepu sprzedającego w Holandii iDEAL jest metodą płatności, której nie warto usuwać tylko dlatego, że jeden webhook utknął. Lepiej naprawić przepływ statusów i monitorować wyjątki.

Jeśli dopiero przygotowujesz sprzedaż na tym rynku, strona sklep internetowy w Holandii opisuje również wdrożenie WooCommerce i płatności iDEAL jako element całej konfiguracji sklepu.

Checklist dla administratora

  • czy płatność w panelu Mollie ma właściwy status?
  • czy webhook pojawił się w logu WooCommerce?
  • jaki kod HTTP zwrócił endpoint?
  • czy w tej samej chwili wystąpił błąd PHP?
  • czy notatki zamówienia pokazują późniejszą zmianę statusu przez inny plugin?
  • czy WooCommerce i Mollie są aktualne?
  • czy WAF/security nie blokuje webhooku?
  • czy domena i HTTPS są poprawne po migracji?

FAQ

Czy powrót klienta z iDEAL oznacza, że WooCommerce powinien uznać zamówienie za opłacone?

Nie należy polegać wyłącznie na powrocie przeglądarki. System płatności używa komunikacji serwer-serwer, między innymi webhooków, aby aktualizować status.

Gdzie sprawdzić, czy webhook Mollie działa?

W logach WooCommerce związanych z Mollie. Dokumentacja Mollie wskazuje je jako podstawowe miejsce do sprawdzania powodzenia lub błędów powiadomień.

Czy ręczne ustawienie Processing rozwiązuje problem?

Rozwiązuje tylko pojedyncze zamówienie i może być ryzykowne, jeżeli płatność faktycznie nie została potwierdzona. Trzeba ustalić przyczynę braku automatycznej aktualizacji.

Źródła