Interfejsy API dla PDT i IPN są podobne. Główna różnica polega na tym, kiedy otrzymasz powiadomienie. Z tego powodu zalecałbym wdrożenie obu.
- Dzięki PDT natychmiast otrzymujesz powiadomienie i możesz wykonać dodatkowe wymagane przetwarzanie oraz wyświetlić użytkownikowi stronę potwierdzenia.
- Dzięki IPN masz gwarancję, że otrzymasz powiadomienie o otrzymaniu płatności, nawet jeśli komputer użytkownika eksploduje, zanim będzie mógł wysłać Ci PDT.
Zastosuj oba i uzyskaj to, co najlepsze z obu światów. Ale jeśli robisz tylko jeden, IPN jest niezawodny.
Jeden haczyk: jeśli zastosujesz oba, istnieje szansa, że Twoje płatności mogą zostać przetworzone dwukrotnie. Uważaj, aby tak się nie stało. Aplikacja, którą napisałem, obsługuje PDT i IPN prawie identycznie (część zaplecza jest taka sama) i ten kod uzyskuje blokadę na użytkownika sieci w bazie danych, więc jeśli ten sam użytkownik próbuje wielokrotnie dokonać tej samej płatności można przetworzyć tylko raz. Po przetworzeniu wynik tego procesu jest ponownie wykorzystywany do wszelkich kolejnych prób jego przetworzenia.
Edytuj
Jeszcze jedno: IPN zawiera więcej informacji niż PDT. Istnieje wiele różnych wiadomości, które możesz otrzymać z IPN, takich jak powiadomienie o obciążeniu zwrotnym itp., Więc naprawdę powinieneś to zaimplementować.
System PayPal PDT wysyła potwierdzenia zamówień do witryn handlowców korzystających z usługi PayPal Payments Standard i umożliwia im uwierzytelnianie tych informacji. Takie witryny mogą następnie wyświetlać te dane lokalnie na stronie „potwierdzenia zamówienia”.
Kiedy używać PDT?
IPN zapewnia te same możliwości, które opisano powyżej. Kiedy więc wybrać PDT zamiast IPN?
Dzięki PDT Twoja witryna jest powiadamiana natychmiast, gdy klient dokona płatności. W przypadku IPN istnieje jednak istotne opóźnienie między zakończeniem płatności przez klienta a momentem otrzymania przez witrynę powiadomienia o tym zdarzeniu.
Dlatego używaj PDT, jeśli Twoja witryna zawiera funkcję wymagającą natychmiastowego powiadomienia o płatności.
Weźmy na przykład pod uwagę cyfrowy sklep muzyczny. Dzięki PDT ten sklep może umożliwić klientom natychmiastowe pobieranie zakupów, ponieważ PDT natychmiast wysyła potwierdzenia zamówień. W przypadku IPN taka natychmiastowa realizacja zamówienia nie jest możliwa.
Zalety IPN
PDT ma poważną słabość: wysyła potwierdzenia zamówień raz i tylko raz. W rezultacie, kiedy PDT wysyła potwierdzenie, Twoja witryna musi być uruchomiona; w przeciwnym razie nigdy nie otrzyma wiadomości.
Natomiast w przypadku IPN dostarczanie potwierdzeń zamówień jest praktycznie gwarantowane, ponieważ IPN ponownie wysyła potwierdzenie, dopóki witryna nie potwierdzi odbioru. Z tego powodu firma PayPal zaleca wdrożenie IPN zamiast PDT.
Kolejną zaletą IPN jest to, że wysyła wiele rodzajów powiadomień, podczas gdy PDT wysyła tylko potwierdzenia zamówień. Tak więc, korzystając z IPN, Twoja witryna może otrzymywać na przykład powiadomienia o obciążeniu zwrotnym, a także potwierdzenia zamówień. Uwaga: jeśli Twoja witryna musi zostać natychmiast powiadomiona o płatnościach, możesz wdrożyć zarówno IPN, jak i PDT. Jeśli jednak to zrobisz, Twoja witryna otrzyma dwa potwierdzenia zamówienia dla każdej sprzedaży. W rezultacie musisz uważać, aby podjąć działania (na przykład wysłać produkt) na tylko jedną kopię danej wiadomości potwierdzającej.
Dokumentacja tutaj