Cel i zakres testów E2E
Testy end-to-end płatności w WooCommerce mają potwierdzić, że klient może zapłacić różnymi metodami, a zamówienie przechodzi cały cykl życia bez błędów. Obejmują front, backend, komunikację z bramką i e-maile transakcyjne. Celem jest zgodność biznesowa, techniczna i księgowa: właściwe statusy zamówień, poprawne księgowanie i przewidywalne zachowanie w razie błędów.
Środowiska, konta i dane testowe
Przygotuj osobne środowisko staging, włącz tryb sandbox w bramkach oraz wyczyść logi przed każdą sesją QA. Ustal zakres danych: testowe numery kart, kody BLIK i konta portfeli, testowe adresy e-mail oraz przykładowe koszyki z produktami cyfrowymi i fizycznymi. Zadbaj o różne warianty podatku i dostawy oraz przynajmniej dwie waluty, jeśli sprzedajesz cross-border.
Minimalny zestaw statusów WooCommerce do weryfikacji
- Pending payment – po wejściu na checkout przed autoryzacją.
- Processing – po opłaceniu zamówienia z wysyłką, gdy płatność została przyjęta.
- Completed – po opłaceniu produktów wirtualnych lub po ręcznym zakończeniu procesu wysyłki.
- Failed – po odrzuceniu autoryzacji lub błędzie finalizacji.
- On hold – przy oczekiwaniu na weryfikację lub płatność wymagającą dodatkowego kroku.
- Refunded – po pełnym zwrocie.
- Cancelled – po anulowaniu przez klienta lub timeout.
Sprawdź spójność statusów w WooCommerce, panelu bramki i w systemie księgowym.
Scenariusze podstawowe według metody płatności
- BLIK – kod prawidłowy, kod błędny, przekroczenie czasu, autoryzacja w aplikacji banku przerwana.
- Szybkie przelewy i pay-by-link – poprawne zakończenie, zamknięcie karty przeglądarki po przekierowaniu, powrót po czasie, nieudana autoryzacja bankowa.
- Karty płatnicze 3DS2 – autoryzacja frictionless, autoryzacja z dodatkowym uwierzytelnieniem, odrzucenie przez bank wydawcę, niewystarczające środki.
- Portfele mobilne – Apple Pay i Google Pay na wspieranych urządzeniach oraz zachowanie na niewspieranych (przycisk powinien się ukryć).
- BNPL i raty – pozytywna decyzja, negatywna decyzja, rezygnacja w trakcie procesu.
Zwroty, częściowe zwroty i anulacje
Przetestuj pełny zwrot z poziomu zamówienia w panelu WooCommerce oraz częściowy zwrot na wybraną pozycję lub kwotę. Zweryfikuj, że:
- status zmienia się zgodnie z oczekiwaniami,
- w bramce pojawia się refund, a środki wracają na właściwą metodę,
- e-maile do klienta odzwierciedlają faktyczny stan,
- stany magazynowe aktualizują się poprawnie.
Dodatkowo sprawdź anulację zamówienia przed płatnością oraz po jej zainicjowaniu, ale przed autoryzacją.
Webhooki i idempotencja
Webhooki muszą być dostarczone nawet w razie chwilowych problemów. Sprawdź:
- powtórną dostawę webhooka i poprawną idempotentną obróbkę (brak podwójnych obciążeń),
- logowanie treści webhooków i kodów odpowiedzi,
- bezpieczeństwo sekretów oraz adresów zwrotnych,
- odporność na zmianę kolejności zdarzeń (np. webhook refundu przychodzi szybciej niż webhook success).
Walidacje formularza i dostępność
Zweryfikuj walidację inline dla pól adresowych i e-maili, zgodność z WCAG oraz czytelne komunikaty błędów. Numeryczna klawiatura powinna się pojawiać dla telefonu i kodu pocztowego, a focus po błędzie powinien wskazywać problematyczne pole. Upewnij się, że akceptacja regulaminu i RODO jest wymagana tam, gdzie to konieczne.
Podatki, dostawa i promocje
Scenariusze muszą obejmować:
- różne stawki VAT zależne od kraju i typu produktu,
- darmową dostawę po przekroczeniu progu,
- kody rabatowe kwotowe i procentowe, w tym wykluczenia,
- punkt odbioru i dostawę kurierem, w tym zmianę opcji po podaniu adresu.
Sprawdź, czy sums are spójne na wszystkich ekranach i w e-mailu potwierdzającym.
Przepływy błędów i mechanika ponowień
Zasymuluj timeout bramki, błąd 3DS, utratę sieci oraz zamknięcie karty w trakcie autoryzacji. Oczekiwane zachowanie:
- zachowanie stanu koszyka i formularza,
- możliwość ponowienia płatności jednym kliknięciem,
- propozycja alternatywnej metody,
- wysłanie e-maila z bezpiecznym linkiem pay-by-link.
Wydajność i stabilność checkoutu
Zmierz TTFB, LCP i czas do interaktywności na checkout dla mobile i desktop. Zwróć uwagę na:
- liczbę odwołań do wc-ajax i REST, ich czasu odpowiedzi,
- obciążenie PHP podczas walidacji i zapisu zamówienia,
- stabilność SDK bramek oraz wielkość pakietów JS.
Wyniki porównuj do akceptowalnych progów, np. LCP poniżej 2.5 s dla 75 percentyla.
Kompatybilność przeglądarek i urządzeń
Wykonaj testy na popularnych przeglądarkach i systemach: Chrome, Safari, Firefox, Edge na Windows, macOS, iOS i Androidzie. Sprawdź viewporcie mobilnym orientację pionową i poziomą, a także tryb prywatny i blokery skryptów, które mogą wpływać na SDK płatności.
E-maile transakcyjne i dokumenty
Po sukcesie płatności klient powinien otrzymać czytelne potwierdzenie z podsumowaniem zamówienia, danymi dostawy i numerem kontaktowym. Sprawdź:
- wysyłkę e-maili w scenariuszach success, failure, refund, on hold,
- poprawne tłumaczenia i znaki diakrytyczne,
- generowanie faktur lub paragonów, jeżeli system tego wymaga.
Rejestrowanie zdarzeń i diagnostyka
Włącz logi WooCommerce, logi wtyczek płatniczych oraz rejestrowanie błędów JS. Zweryfikuj, że:
- komunikaty nie zawierają danych wrażliwych,
- dostęp do logów jest ograniczony,
- alerty powiadamiają o spadku akceptacji lub wzroście błędów 3DS.
Automatyzacja testów i dane do powtarzalności
Automatyzuj krytyczne ścieżki z użyciem narzędzi typu Playwright lub Cypress oraz API WooCommerce. Zapewnij:
- dane testowe resetowane przed scenariuszem,
- stuby dla integracji zewnętrznych tam, gdzie to możliwe,
- możliwość uruchomienia zestawu smoke po każdej aktualizacji wtyczek lub motywu.
Lista kontrolna przed publikacją zmian
- Tryb produkcyjny bramek wyłączony na staging, włączony na produkcji.
- Klucze i sekrety środowiska rozdzielone i zaszyfrowane.
- Webhooki zweryfikowane, retry działa, brak błędów 401 lub 5xx.
- Statusy zamówień spójne między WooCommerce a bramką.
- Refundy pełne i częściowe potwierdzone, bez niespójności stanów magazynowych.
- E-maile transakcyjne działają i trafiają do skrzynki głównej.
- KPI akceptacji i czasy ładowania mieszczą się w progach.
- Przygotowany plan rollback i kopie zapasowe.
KPI i raportowanie po wdrożeniu
Zbieraj i monitoruj:
- współczynnik przejścia z checkout do zapłaty i wskaźnik akceptacji płatności,
- czas w kroku płatności oraz rozkład błędów według metody i banku,
- udział porzuceń po błędzie i skuteczność ponowień,
- liczbę refundów oraz czas ich realizacji.
Raportuj tygodniowo, porównując trend przed i po zmianach.
Utrzymanie po aktualizacjach
Po aktualizacji WordPress, WooCommerce, motywu lub wtyczek uruchamiaj smoke testy na checkout, wykonuj transakcję produkcyjną o niskiej wartości i potwierdzaj refunda. Dokumentuj regresje i zamykaj je w sprintach wraz z testami automatycznymi, aby nie wróciły.
Dobrze przygotowana lista kontrolna QA sprawia, że płatności działają przewidywalnie, a zespół szybciej wykrywa i naprawia krytyczne problemy. Dzięki powtarzalnym testom E2E zmniejszasz ryzyko utraty przychodu i podnosisz zaufanie klientów do procesu zakupowego.