Przelewy24, PayPal, PrestaShop Checkout i płatności kartą w one page checkout: co może się zepsuć i jak to przetestować
Jak moduły płatności PrestaShop podłączają się do checkoutu, które z czterech rodzajów płatności są wrażliwe w one page checkout i plan testów dla Przelewy24, PayPal, PrestaShop Checkout i kart przed uruchomieniem.
W skrócie
- Każdy moduł płatności PrestaShop dodaje swoje metody przez hook
paymentOptions. Przycisk zamówienia generuje checkout, a nie moduł. - Dokumentacja dla programistów PrestaShop opisuje cztery rodzaje płatności: offline, zewnętrzne (jak przekierowanie do PayPal), osadzone formularze (jak Stripe) i iframe.
- Płatności offline i z przekierowaniem rzadko sprawiają kłopot w one page checkout. Osadzone formularze kart i iframe tak, bo trzeba je narysować od nowa, gdy strona aktualizuje się bez przeładowania.
- Przetestuj każdą metodę płatności jako gość i jako zalogowany klient, na telefonie i na komputerze, łącznie z odrzuconą i anulowaną płatnością.
Płatność to ostatni krok checkoutu i ten, w którym błąd kosztuje najwięcej: klient zdecydował się kupić i nie może. W one page checkout PrestaShop moduły płatności, takie jak Przelewy24, PayPal, PrestaShop Checkout i płatności kartą, działają w innych warunkach niż te, dla których wiele z nich powstało. Ten artykuł wyjaśnia, jak podłączają się moduły płatności PrestaShop, które rodzaje są wrażliwe i jak je przetestować.
Jak moduły płatności podłączają się do checkoutu
Według dokumentacji PrestaShop dla programistów modułów płatności (po angielsku) każdy moduł płatności implementuje hook paymentOptions i zwraca jedną lub więcej opcji płatności. Każda może zawierać:
- tekst wezwania do działania, czyli nazwę metody widoczną dla klienta;
- dodatkowe informacje, dowolny HTML pokazywany przy metodzie;
- akcję, czyli adres, który obsługuje płatność;
- formularz, własny HTML, na przykład pola karty;
- znacznik binary dla formularzy z własnym przyciskiem wysyłki.
W jednej kwestii dokumentacja jest jednoznaczna: moduł nie może mieć przycisku wysyłki w swoim HTML. Przycisk zamówienia generuje PrestaShop.
Cztery rodzaje płatności
Ta sama dokumentacja opisuje cztery scenariusze:
| Rodzaj | Przykład | Co się dzieje | Ryzyko w one page checkout |
|---|---|---|---|
| Offline | Przelew tradycyjny, czek | Zamówienie powstaje, klient płaci później | Niskie |
| Zewnętrzne | Przekierowanie do PayPal | Klient trafia na stronę operatora | Niskie |
| Osadzone | Formularz karty, np. Stripe | Pola operatora są w checkoucie | Wyższe |
| Iframe | Formularz operatora w iframe | Strona operatora działa wewnątrz checkoutu | Wyższe |
Płatności offline i zewnętrzne potrzebują tylko linku albo przekierowania po kliknięciu przycisku zamówienia. Osadzone formularze i iframe są rysowane w sekcji płatności, a to właśnie ją one page checkout rysuje od nowa.
Dlaczego płatności osadzone się psują
W one page checkout zmiana przewoźnika lub adresu aktualizuje sumę, a z nią sekcję płatności, bez przeładowania strony. Formularz karty narysowany raz przy ładowaniu strony może wtedy zniknąć, pokazać starą sumę albo przestać reagować.
Natywny one page checkout PrestaShop 9.2 ma ten sam wymóg. Jego ogłoszenie (po angielsku) mówi, że moduły wstawiające treść do sekcji przewoźnika lub płatności muszą ją odświeżyć po aktualizacji AJAX, i prosi twórców modułów o testy w nowym układzie.
Przyciski widoczne poza krokiem płatności, na przykład przyciski szybkiej płatności na karcie produktu albo w koszyku, to osobna ścieżka: zwykle pomijają część checkoutu, więc przetestuj je oddzielnie.
Plan testów płatności
Przeprowadź go na kopii sklepu, z modułami płatności w trybie testowym lub sandbox:
- Każda metoda, raz. Złóż jedno zamówienie każdą metodą płatności.
- Gość i zalogowany klient. Powtórz jako nowy gość i jako klient z kontem.
- Telefon i komputer. Pola karty i przyciski operatorów to często najwęższa część strony.
- Zmiana po wyborze. Wybierz metodę płatności, potem zmień przewoźnika albo adres. Metoda powinna nadal działać, a kwota zgadzać się z nową sumą.
- Anulowanie u operatora. Rozpocznij płatność z przekierowaniem i ją anuluj. Klient powinien wrócić do działającego checkoutu z nienaruszonym koszykiem.
- Odrzucona płatność. Użyj testowej karty operatora dla odrzuconej płatności. Klient powinien zobaczyć powód i móc spróbować ponownie.
- Sprawdź zamówienia. W panelu każdy udany test powinien dać jedno zamówienie z właściwym statusem i kwotą, a nieudane żadnego.
W Prime OPC
Prime OPC pokazuje moduły płatności zainstalowane już w Twoim sklepie i zostawia im płatność; nie dodaje własnych metod płatności. Ma dedykowaną obsługę zgodności z PayPal, PrestaShop Checkout i PayPlug, a w polskich sklepach działa z Przelewy24. Dla innych modułów płatności przeprowadź powyższy plan testów na kopii sklepu przed uruchomieniem.
Pytania i odpowiedzi
Czy Przelewy24, PayPal i PrestaShop Checkout działają w one page checkout?
Mogą, ale zależy to od checkoutu i wersji modułów. Rysują przyciski lub pola karty w sekcji płatności, którą one page checkout odświeża bez przeładowania strony. Przetestuj je na kopii sklepu przed uruchomieniem.
Dlaczego formularz karty znika po zmianie przewoźnika?
Bo one page checkout narysował sekcję płatności od nowa po zmianie, a moduł płatności nie narysował ponownie swojego formularza. Ogłoszenie natywnego one page checkoutu PrestaShop mówi to samo: moduły, które wstawiają treść do sekcji płatności, muszą ją odświeżyć po aktualizacji AJAX.
Czy moduł płatności powinien mieć własny przycisk zamówienia?
Zwykle nie. Dokumentacja dla programistów PrestaShop mówi, że moduł płatności nie może mieć przycisku wysyłki w swoim HTML; generuje go PrestaShop. Moduły, których formularz ma własny przycisk, są oznaczane jako binary i checkout musi je obsłużyć inaczej.
Co przetestować po instalacji one page checkout?
Jedno zamówienie na każdą metodę płatności, jako gość i jako zalogowany klient, na telefonie i na komputerze. Zmień też przewoźnika i adres po wybraniu metody płatności, anuluj płatność u operatora i doprowadź do jednej odrzuconej, a potem sprawdź, czy każdy przypadek zostawia koszyk i zamówienie we właściwym stanie.