pay-now/paynow-prestashop

1.6.18 - zwielokrotniona informacja o płatności

Opened this issue · 8 comments

Od wersji 1.6.18 (tak mi się wydaje) mam problem taki że dana płatność w PrestaShop zapisywana jest wielokrotnie.

Zrzut ekranu 2022-06-21 o 12 34 54

również status zamówienia "Płatność zaakceptowana" w tym przypadku wstawił się dwa razy:

Zrzut ekranu 2022-06-21 o 12 36 26

@maciekwyka Czy masz logi z wtyczki dla tego dnia?

niestety logi dla wtyczki wyłączone

Błąd jest krytyczny. Robi totalny sajgon w zamówieniach i koszykach.

  1. Wkładasz do koszyka 2 przedmioty
  2. Przechodzisz do realizacji zamówienia
  3. Klikasz zapłac - nic więcej nie trzeba, zamówienie jest dzielone na 2 i tylkokwota za jeden z przedmiotów leci do PayNow.

Rezultat: Zduplikowane koszyki, mają te samo ID i te same przedmioty, timestamp koszyków jest jest 1:1. Zduplikowane ID koszyka i timestamp bezpośrednio wskazują na flaw.

Idziemy dalej, oba koszyki mają przypisane inne ID zamówienia, kolejne dwa. Każde zamówienie ma po jednym z przedmiotów z koszyka, a w rezultacie tylko jedno jest opłacone. W potwierdzeniu mailowych od PayNow jest tylko jedna płatność za jedno zamówienie. generalnie pierdolnik po całości. Zauważyłem to dziś po zamówieniu od klienta. Od razzu zamknałem sklep i zacząłem szukać przyczyny - padło na wtyczkę od PayNow.

Prosze o szybką poprawkę.

log.txt
.

@ismartfridge Proszę Cię nie strasz innych. Jeśli coś działa u Ciebie błędnie to nie znaczy, że u innych również. Zwykle powodem problemów jest konfiguracja sklepu. Nie napisałeś jakiej wersji wtyczki używasz, uzupełnij to proszę.

Dzięki za logi. Podaj ID płatności, zamówienia lub koszyka żebyśmy mogli dokonać analizy logów.

Zamówienie ID: 23 i 24, indeks: ZAM-07/2022/000014, koszyk ID: 129

Problemem tutaj było "zgubienie" danych o dostawie dla jednego produktu, przez jakiś nieokreślony błąd nie widziało kosztów dostawy. Presta pozwoliła przejść dalej, a po kliknięciu "zapłać z paynow", system (presta) zduplikował koszyki o tym samym ID, rozdzielił zamówienia na 2, przypisując do każdego zduplikowane koszyki ID 129 i przeszedł do płatności tego przedmiotu, który miał koszta dostawy. Klient w tym przypadku opłacił tylko jeden z przedmiotów a drugie zamówienie "wisiało". Nie wiem czy tutaj jest coś do robienia ze strony PayNow.

Szereg zdarzeń spowodował mały mindfuck, chwilę mi zajęło zrozumienie co się naprawdę stało. Pytanie jest tylko czy system powinien pozwolić "przejść" dalej i opłacić produktu czy nie.

@ismartfridge jak rozumiem produkt miał zdefiniowany sposób dostawy a w koszyku wybrano inną? Wówczas takie zachowanie z rozbiciem zamówień jest robione przez Prestashop jego mechanizmami ze względu na różne formy dostawy.

Nie, był to inny, niezdefiniowany błąd. Polegał na tym, że pomimo skonfigurowanych form dostawy, kiedy dodawało się ten jeden produkt do koszyka, to nie widziało dla niego dostępnych form dostawy. Nie znalazłem przyczyny, dane w bazie były OK. Skończyło się zrobieniem nowego produktu i zasąpieniem uszkodzonego właśnie tym nowym.