pay-now/paynow-prestashop

Nie można załadować koszyka lub złożono już zamówienie za pomocą tego koszyka.

Closed this issue · 14 comments

Witam,
przy wybranej opcji "Tworzenie zamówienia - po udanej płatności paynow", pojawa się problem co x zamówień.
Płatność jest udana, natomiast zamówienie wpada jakby z innym statusem a wpis w tabeli ps_paynow_payments posiada tylko id koszyka ale pola id_order i order_refernece są puste.
Zamówienie jednak istnieje i ma status domyślny ustawiony dla przelewu bankowego.
image

O ile przy jednym zastanawiałem się czy np. klient nie powrócił po nieudanej płatności i np. nie wybrał przelewu tradycyjnego, tak przy kolejnym uznałem, że to musi być jakiś błąd w samym module. W obu przypadkach płatności są wykonane poprawnie, więc klienci nie mogli cofnąć aby wybrac np. inny sposób płatności.

Poniżej widać, że żaden status nie jest powiązany z "przelew bankowy" oraz widać jaki jest błąd. Tymczasowo przwyróciłem opcję tworzenia zamówienia natychmiast, co niestety jest bardziej uciążliwe dla klientów, którzy często składają ponownie kilka razy zamówienie jeśli płatność się nie uda.

image

image

@maskopatol69 Moduł był instalowany pierwszy raz czy to była aktualizacja?
Sprawdź też logi wtyczki, powinieneś zobaczyć więcej informacji co się dzieje z poszczególnymi płatnościami.

Aktaulizacja modułu.
Niestety logi były wyłączone.
Wcześniej testowałem już tę opcję, ale nie zauważyłem takiej anomalii. Dopiero po ostatniej aktualizacji. Ale może dlatego że wcześniejsze testy były krótsze.

@maskopatol69 sprawdź czy struktura bazy danych się zgadza z tą poniżej (chodzi o liczbę kolumn):
prestashop-db

Identyczne
image
To był problem raz na kilka godzin, przy dość sporej liczbie prawidlowych zamówień. Przy opcji składania zamówienia natychmiast, czegoś takiego nie ma. Niemniej jednak takie rozwiązanie powoduje, że klient musi ponownie wrzucać do koszyka produkty (co wielu irytuje).

Uruchomiłem ponownie zamawianie dopiero po potwierdzeniu płatności.

Zamówienie dostało taki status (mimo że nie powinno):
image

Ustawienia są i były (w momencie złożenia zamówienia), takie:
image

Logi dla tego id_cart:
2022-01-19 13:50:51.799127 INFO Payment has been successfully created {paymentId=BLY8-WTE-KF3-Q33, externalId=100241_61e8092b84eb6, status=NEW}
2022-01-19 13:50:51.988765 INFO Incoming notification {paymentId=BLY8-WTE-KF3-Q33, externalId=100241_61e8092b84eb6, status=NEW}
2022-01-19 13:51:17.567389 INFO Incoming notification {paymentId=BLY8-WTE-KF3-Q33, externalId=100241_61e8092b84eb6, status=PENDING}
2022-01-19 13:51:24.103898 INFO Incoming notification {paymentId=BLY8-WTE-KF3-Q33, externalId=100241_61e8092b84eb6, status=CONFIRMED}

i później już kilka razy ponawianie:
2022-01-19 13:52:26.075087 INFO Incoming notification {paymentId=BLY8-WTE-KF3-Q33, externalId=100241_61e8092b84eb6, status=CONFIRMED}
2022-01-19 13:53:26.841705 INFO Incoming notification {paymentId=BLY8-WTE-KF3-Q33, externalId=100241_61e8092b84eb6, status=CONFIRMED}
2022-01-19 13:54:27.653242 INFO Incoming notification {paymentId=BLY8-WTE-KF3-Q33, externalId=100241_61e8092b84eb6, status=CONFIRMED}

itd. co skutkuje się pojawianiem w logach presty:
image

W bazie wygląda to tak:
image

W ps_order_history brakuje rekordu do tego zamówienia

@maskopatol69 Czy koszyk 100241 został opróżniony/wyczyszczony ?

Nie.

image

image

Trochę dziwna sytuacja, ten błąd jest rzucany kiedy istnieją inne zamówienia dla koszyka, a to znaczyłoby że w międzyczasie klient złożył inne zamówienie i nie wyczyściło mu koszyka. Sprawdź proszę tabelę ps_orders dla tego koszyka.

Przy opcji tworzenia zamówienia po udanej płatności - Koszyk jest dopiero wtedy "czyszczony".

w ps_orders jest tylko jedno zamówienie z tym id koszyka i ma status jak wklejałem wcześniej (pomarańczowy - "oczekuje na płatność".

To wygląda jakby Twoja metoda nie dzialała zawsze poprawnie przy opcji realizacji zamówienia dopiero po udanej płatności.
To się dzieje raz na dziesiątki czy setki przypadków, ale jednak się dzieje.

@maskopatol69 jesteś w stanie to debugować?
Napisz do nas na support@paynow.pl a otrzymasz kolekcję Postmana dzięki której będziesz mógł san wysłać powiadomienie do sklepu i zobaczyć do którego miejsca przechodzi.

Ok, chyba będę musiał napisać. Teraz są jeszcze lepsze kwiatki, zamówienie wpada ale puste bez produktów. To się tylko dzieje przy opcji składania zamówienia po udanej płatności. W innym przypadku (kiedy składa zamówienie od razu), czegoś takiego nie ma.
image

@maskopatol69 udało się naprawić ten błąd?

@SharakPL SharakPL Niestety jeszcze nie do końca (chociaż autor wtyczki ostro walczy w tym temacie).

@SharakPL zainstaluj najnowszą wersję wtyczki i daj znać czy problem nadal występuje.