Polskie wsparcie PrestaShop

PrestaShop => Płatności - moduły => Wątek zaczęty przez: fm w Grudzień 30, 2011, 11:40:46 am

Tytuł: moduł Przelewy24 – przeróbka – aktualizacja statusu zamówienia
Wiadomość wysłana przez: fm w Grudzień 30, 2011, 11:40:46 am
Witam wszystkich,

Korzystam z wersji Prestashop-a 1.3 (nie aktualizowałem na razie, ponieważ zrobiłem sobie wiele przeróbek), ale wydaje mi się, że moduł, o którym piszę, w 1.4 działa tak samo.

Moduł Przelewy24 działa tak:

1. Klient wchodzi na moduł przy wyborze formy płatności,
2. Klika „Potwierdzam Zamówienie” i przechodzi do systemy Przelewy24.
3. Jeśli w tym momencie Klient przerwie i wyjdzie zupełnie z systemu Przelewy24, to zamówienie nie zostanie złożone.
4. Jeśli zapłaci w systemie przelewy24 i system przekaże dane, wtedy dopiero zostaje złożone w sklepie zamówienie.

Moim zdaniem jest to dość problematyczne rozwiązanie.  Mam doświadczenie z innego sklepu, że część Klientów jest średnio rozgarnięta i np. w trakcie płatności przypominają sobie się, że nie mają pieniędzy na koncie i zmieniają wtedy zdanie (chcą zapłacić jednak przelewem zwykłym za kilka dni). Zwykle po prostu zamykają wtedy przeglądarkę. Obecny moduł powoduje, że okazuje się, że mimo, że klikali w „Potwierdzam zamówienie”, w takim wypadku zamówienie nie zostało wcale złożone.

Zmierzyłem się dlatego z próbą poprawki modułu.

Postanowiłem zrobić to tak:
- zamówienie zostaje złożone zaraz po kliknięciu w „Potwierdzam zamówienie”. Ma ono status „Błąd płatności”.
- następuje przekazanie odpowiednich informacji do systemu Przelewy24 i przekierowanie tam
- Przelewy24 informują, że została dokonana płatność i następuje wtedy aktualizacja statusu złożonego zamówienia

Niestety nie umiem przeskoczyć jednej rzeczy. Mianowicie zmiany statusu zamówienia po informacji od Przelewy24. Kod wygląda następująco.

// w $id_order jest numer danego zamówienia.

        $newOrderStatusId = 3;

$history = new OrderHistory();
$history->id_order = $id_order;
$history->changeIdOrderState(intval($newOrderStatusId), intval($id_order));


Pytanie: dlaczego nie działa? Dlaczego nie zmienia się status zamówienia? Co robię źle?

Dla ułatwienia poniżej link do OrderHistory.php w której jest metoda changeIdOrderState:

http://codes-libres.org/apps/prestashop_1.3.7.0/nav.html?prestashop/classes/OrderHistory.php.source.html
Tytuł: Odp: moduł Przelewy24 – przeróbka – aktualizacja statusu zamówienia
Wiadomość wysłana przez: fm w Styczeń 09, 2012, 05:54:20 pm
Czy tylko ja widzę ten problem, że ktoś już potwierdził zamówienie, a mimo to nic się zamówiło?

Nie pytam tylko dla prywaty. Jeśli uda się rozwiązać ten problem, chętnie podzielę się ze wszystkimi całą poprawką do modułu.

Pozdrawiam wszystkich,
Tytuł: Odp: moduł Przelewy24 – przeróbka – aktualizacja statusu zamówienia
Wiadomość wysłana przez: Piątek w Wrzesień 16, 2012, 12:13:42 pm
Wątek dość dawny, ale udało Ci się rozwiązać ten problem?