Klient zapłacił, a zamówienia nie ma
Publikacja: · Grzegorz Rapczyński
Najbardziej stresujący telefon, jaki można odebrać, prowadząc sklep. Klient ma potwierdzenie płatności, pieniądze wyszły z jego konta, a w panelu PrestaShop nie ma po nim śladu.
W zdecydowanej większości przypadków zamówienie istnieje. Tylko nie tam, gdzie go szukasz.
Jak to działa od środka
Płatność online nie jest jedną operacją, tylko trzema, i każda może się udać osobno:
- Sklep tworzy zamówienie w statusie oczekiwania na płatność i przekazuje klienta do bramki.
- Bramka pobiera pieniądze i wysyła do sklepu powiadomienie o udanej transakcji - osobnym połączeniem, w tle, niezależnie od tego, gdzie w tym czasie jest klient.
- Sklep odbiera powiadomienie i zmienia status zamówienia na opłacone.
Awaria prawie zawsze siedzi w kroku trzecim. Pieniądze są pobrane, zamówienie jest w bazie - ale wisi w statusie oczekiwania, a takie zamówienia bywają domyślnie odfiltrowane z listy w panelu.
Gdzie szukać zamówienia
Cztery miejsca, po kolei:
- Lista zamówień z wyczyszczonymi filtrami. Zdejmij filtr statusu i posortuj po dacie malejąco. Zamówienia oczekujące na płatność bardzo często są tam, gdzie nikt nie patrzy.
- Karta klienta. Znajdź klienta po adresie e-mail i zobacz jego zamówienia oraz koszyki. Jeśli jest koszyk bez zamówienia, transakcja nie doszła nawet do pierwszego kroku.
- Panel operatora płatności. Tam zobaczysz numer transakcji i identyfikator zamówienia, który bramka dostała od sklepu. To najpewniejsze źródło informacji.
- Log powiadomień - większość modułów płatności zapisuje przychodzące powiadomienia. Jeśli wpis jest, a status się nie zmienił, problem jest po stronie sklepu, nie bramki.
Dlaczego powiadomienie nie dochodzi
Najczęstsze przyczyny, w kolejności:
- Zmienił się adres sklepu. Przejście na HTTPS, zmiana domeny albo przeniesienie na inny serwer - a w panelu operatora wciąż stary adres powiadomień. Klasyk po migracji.
- Zapora blokuje połączenie z bramki. Powiadomienie przychodzi z adresu IP operatora i bywa odrzucane jako podejrzane.
- Sklep był chwilowo niedostępny. Bramka próbowała, dostała błąd, ponowi próbę - ale nie w nieskończoność.
- Tryb testowy w module płatności pozostawiony po wdrożeniu. Wtedy sklep czeka na powiadomienia z testowego środowiska, a przychodzą z produkcyjnego.
- Błąd w samym module po aktualizacji sklepu albo po zmianie wersji PHP.
Co zrobić z klientem, który czeka
Kolejność jest jedna i nie zmienia się nigdy: najpierw klient, potem przyczyna.
- Potwierdź w panelu operatora, że płatność faktycznie przeszła. Bywa, że klient widzi blokadę środków, a nie zrealizowaną transakcję.
- Znajdź zamówienie i ręcznie ustaw status na opłacone. Klient dostanie potwierdzenie, a zamówienie wejdzie w normalny obieg.
- Napisz do klienta, zanim zadzwoni drugi raz. Jedno zdanie z numerem zamówienia zamyka sprawę.
Dopiero potem szukaj, dlaczego powiadomienie nie doszło - bo jeśli zdarzyło się raz, zdarzy się znowu.
Jak ograniczyć ryzyko
- Po każdej zmianie adresu albo serwera zrób zamówienie testowe z realną, najmniejszą możliwą płatnością. To jedyny test, który sprawdza całą ścieżkę naraz.
- Sprawdzaj adresy powiadomień w panelu operatora przy każdej większej zmianie w sklepie.
- Ustaw sobie przegląd zamówień oczekujących raz dziennie. Pięć minut, a wyłapuje dokładnie takie sytuacje, zanim zadzwoni klient.
- Nie zostawiaj trybu testowego po wdrożeniu - to najczęstsza pojedyncza przyczyna tego problemu tuż po starcie sklepu.
Najczęstsze pytania
Czy pieniądze klienta są bezpieczne?
Tak. Środki są u operatora płatności i nie zależą od tego, co pokazuje panel sklepu. Rozliczenie idzie swoim trybem niezależnie od statusu zamówienia.
Czy mogę po prostu poprosić klienta o ponowną płatność?
Nie. To prowadzi do podwójnego obciążenia i zwrotu, czyli dwóch problemów zamiast jednego. Najpierw sprawdź w panelu operatora, czy płatność przeszła.
Zamówienie wisi w oczekiwaniu na płatność od tygodnia. Kasować?
Nie kasować. Sprawdzić w panelu operatora, czy jest opłacone. Jeśli nie - zostawić jako informację, że ktoś próbował kupić i nie dokończył. To dane, nie śmieci.
Czy to się zdarza tylko przy jednej bramce?
Nie, mechanizm jest wspólny dla wszystkich - bo wszystkie działają na powiadomieniach wysyłanych w tle. Różnią się tylko nazwami i tym, jak długo ponawiają próby.
Płatności nie zapisują się w sklepie
Jeśli to nie jest jednorazowy wypadek, tylko sytuacja powtarzalna, sprawdzę moduł płatności i adresy powiadomień - i zrobię zamówienie testowe od początku do końca. Formularz kontaktowy, 881 932 088 lub kontakt@grvision.pl.