Php - integracja z PayPal

0

Cześć,
integruję swój system z PayPal i chcę zmienić status płatności po dokonaniu płatności przez użytkownika (czyli zwykły update danych w bazie). Przy zmianie owego statusu wypadałoby wysłać post który zmieni dane (w url token). Z tego co udało mi się wyczytać PayPal wysyła return_url po zakończeniu płatności jednak metodą GET. Jak to powinno wyglądać? Może ja coś źle rozumiem

1

return_url przekierowuje użytkownika do strony po dokonaniu płatności, to wcale nie musi być powiązane ze zmianą statusu płatności. Przykładowo PayNow po dokonaniu płatności wysyła kilka razy requesta na serwer z informacją o statusie płatności, może paypal podobnie? Wówczas jak dostaniesz i zweryfikujesz request będziesz mieć pewność, że możesz zmienić status zamówienia w swojej bazie danych. Dodatkowo możesz w endpoincie na który wraca użytkownik uruchamiać proces, w którym sobie dobijesz do paypala i sprawdzasz aktualny status. Ogólnie nie powinieneś polegać na return_url, bo co jeśli użytkownik w ogóle nie wróci do strony po dokonaniu płatności?

1

Po zalogowaniu do paypala na developerskie konto w ustawieniach poszukaj IPN (Identifying your IPN listener to PayPal) Instant Payment Notification tam ustalasz na jaki adres system PayPal bedzie wysylal ci statusy zamowienia. Jesli twoj serwis ma adres:

mojastrona . pl to ten IPN ustaw np mojastrona . pl/uiewfhuwhewuif 

Parametry takie jak return_url czy cancel_url sa tylko adresami powrotu ktore maja poinformaowac uzytkownika o dokonaniu platnosci. Czyli po ich dokonaniu uzytkownik idzie na strone podana w return_url a tam dajesz informacje ze : Dziekujemy za platnosc, w ciagu kilkunastu minut twoje zamowienie powinno byc zrealizowane. Mozesz tez zrobic ajaxem odswiezanie wtle i sprawdzanie z bazy statusu zamowienia.

Czasem systemy wysylaja np na return_url doklejajac ciag np

mojastrona . pl / order/ result?&error=400 

i jak wykryjesz taki error mozesz powiedziec uzytkownikowi ze cos poszlo nie tak. ale ten adres powortu jest tylko taka informacja. Nigdy nie mozesz podejmowac decyzji na jego podstawie

Paypal wysle ci informacje na twn IPN natychmiast po transakcji, jak odpiszesz na niego echo "OK" czy dasz tam header z OK 200 to przestanie wysylac. a jak nie dasz to bedzie wysylal kolejne za 5 minut za 10 i tak nie pamietam ze 20 razy wysle informacje.

Musisz ja oderbac , sprawdzic czy podpisy sie zgadzaja i jesli jest ok dopiero tam realizujesz zamowienie, ze oplacone, zmieniasz stausy itd

1 użytkowników online, w tym zalogowanych: 0, gości: 1