IPN vs PDT w Paypal


99

Mam problem z wyborem między natychmiastowym powiadomieniem o płatności PayPal (IPN) a transferem danych płatności (PDT).

Zasadniczo użytkownicy kupują jednorazowy produkt w mojej witrynie, płacą w systemie PayPal i wracają do mojej witryny. Rozumiem, jak działa IPN, ale teraz widzę, że mogę łatwiej wyzwalać różne działania, które mają miejsce po udanym zakupie za pomocą PDT, ponieważ dane są zwracane tam i później (w przeciwieństwie do potrzeby oddzielnego odbiornika) .

Jednak dokumentacja PayPal PDT zawiera tę tajemniczą linijkę: „PDT nie jest przeznaczony do użytku z transakcjami kartą kredytową lub ekspresową realizacją transakcji”. ... ale nie mogę znaleźć nic więcej na ten temat.

  1. Czy karty kredytowe NAPRAWDĘ nie są przeznaczone do użytku z PDT? Chciałbym więcej niż zdanie.

  2. Czy to oznacza, że ​​użytkownik musi mieć / założyć konto PayPal, aby zapłacić?

  3. Czy to oznacza, że ​​jeśli chcę umożliwić użytkownikom płacenie ich kontami PayPal ORAZ / LUB bezpośrednio kartami kredytowymi, muszę wdrożyć IPN?

Czy ktokolwiek, kto przeszedł przez to uprzejmie, mógł rzucić trochę światła?


Znalazłem stronę internetową, która naprawdę lepiej to wyjaśnia. [PayPal PDT i IPN: Jak to działa?] [1] [1]: webmasters.stackexchange.com/questions/21634/ ...
Ananize Scott,

Jeśli chodzi o pytanie 2, istnieje PayPal Account Optionalustawienie, w My selling preferences > Website preferencesktórym możesz włączyć, aby nie zmuszać klientów do tworzenia / posiadania konta PayPal, tj. zapłacić kartą kredytową / debetową.
kaiyaq

Odpowiedzi:


112

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


2
Dzięki, rozumiem. Zasadniczo należy połączyć aktualizacje bazy danych z IPN (ponieważ zawsze będą one przetwarzane) i powiązać potwierdzenia użytkowników tylko z PDT (np. Sprawdzanie, czy płatność została przetworzona przez IPN na oczekującej stronie) ....?
Tom

1
+1 za implementację zarówno IPN, jak i PDT, zrobiliśmy to i działa dobrze.
Mark Redman

3
@Tom: Moja implementacja to: Kiedy przychodzi PDT lub IPN, przeczytaj parametry i spróbuj przetworzyć płatność. Procesor A) blokuje inne równoczesne przetwarzanie (dla tego użytkownika) i B) sprawdza, czy zostało już przetworzone. Po zakończeniu przetwarzania, z IPN kończysz, za pomocą PDT pokazujesz użytkownikowi stronę potwierdzenia lub stronę potwierdzenia lub cokolwiek innego. Zarówno strona PDT, jak i strona IPN mogą działać poprawnie, jeśli druga strona jest wyłączona, ale uzyskujesz dobrą niezawodność, mając obie. Dość wysoki% użytkowników nie klika przed nadejściem IPN.
Mr. Shiny and New 安 宇

8
Ta odpowiedź nie odpowiada na pytania nr 1, 2 lub 3 PO, ale została zaakceptowana?
Clint Pachl

2
IPN potrzebuje do 4 dni na odpowiedź ... to jest do bani
Toskan

1

Ad 1. PDT ma być używany z funkcją automatycznego zwrotu dla płatności za pośrednictwem witryny. Auto Return przekierowuje do witryny PDT po zapłaceniu pieniędzy sprzedawcy. Niestety nie można korzystać z tej funkcji razem z opcjonalnym kontem PayPal - używanym do włączania płatności kartą kredytową. Oto uwaga od PayPal: „Jeśli włączyłeś automatyczny powrót i zdecydowałeś się włączyć konto PayPal Opcjonalnie dla nowych użytkowników, nowy użytkownik nie zostanie automatycznie przekierowany z powrotem do Twojej witryny, ale będzie miał możliwość powrotu”. . Użytkownik będzie miał możliwość powrotu do Twojej witryny (krok PDT) lub pozostania w witrynie PayPal. Podsumowując, płacąc kartą kredytową, użytkownik może pominąć krok PDT, jeśli użytkownik nie kliknie „powrót do linku do sklepu”.

Ad 2. To od Ciebie zależy, na jakie opcje płatności chcesz zezwolić. Jeśli chcesz zezwolić na płatności bez konta PayPal, możesz włączyć opcję Konto opcjonalne . Jeśli chcesz zezwolić tylko użytkownikom z kontami PayPal, wyłącz tę funkcję. Może być więcej opcji.

Ad 3. W twoim przypadku musisz wywołać akcję po udanym zakupie. Zalecanym sposobem byłoby wdrożenie IPN. PDT nie działa we wszystkich przypadkach i nie gwarantuje dostarczenia wiadomości. Oto link do dokumentu obejmującego ten temat PDT vs IPN .


0

To stare pytanie, ale moja prosta odpowiedź brzmiałaby: Dlaczego nie używać zarówno PDT, jak i IPN? Będą działać dobrze przy transakcjach kartą.

PDT może zapewnić natychmiastowy status transakcji na Twojej stronie internetowej, gdzie możesz szybko sprawdzić status płatności lub niepowodzenia i przekazać użytkownikowi odpowiednią wiadomość.

Tymczasem w tle możesz czekać na pełną weryfikację z IPN. Po otrzymaniu możesz go użyć do dalszej aktualizacji bazy danych i przetworzenia zamówienia.

Możesz skorzystać z tego przewodnika krok po kroku, który okazał się bardzo przejrzysty i pomocny - i jest nadal aktualny w 2018 roku.

https://www.codexworld.com/paypal-standard-payment-gateway-integration-php/

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.