IPN vs PDT w Paypal

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

Zasadniczo użytkownicy kupują jednorazowy produkt na mojej stronie, płacą przez PayPal i wracają do mojej strony. Rozumiem, jak działa IPN, ale teraz widzę, że mogę być w stanie uruchomić różne działania, które mają miejsce po udanym zakupie łatwiej z PDT, jak dane są zwracane tam i wtedy (w przeciwieństwie do konieczności oddzielnego słuchacza).

Jednak dokumentacja PDT firmy PayPal zawiera tę tajemniczą linię: "PDT nie jest przeznaczony do użycia przy transakcjach kartą kredytową lub ekspresowym kasie." ... ale nie mogę znaleźć nic więcej na ten temat.

  1. Czy karty kredytowe naprawdę nie powinny być używane z PDT? Chciałbym więcej niż zdanie.

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

  3. Czy to znaczy, że jeśli chcę pozwolić użytkownikom aby płacić za pomocą swoich kont PayPal i/lub kart kredytowych bezpośrednio, muszę wdrożyć IPN?

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

Author: yairchu, 2010-05-14

3 answers

API dla PDT i IPN są podobne. Główną różnicą jest to, kiedy otrzymasz powiadomienie. Z tego powodu polecam wdrożenie obu.

  • z PDT otrzymujesz powiadomienie natychmiast i możesz wykonać dodatkowe wymagane przetwarzanie i pokazać użytkownikowi Stronę potwierdzenia.
  • z IPN masz gwarancję, że zostaniesz powiadomiony o otrzymaniu płatności, nawet jeśli komputer użytkownika eksploduje, zanim będzie mógł wysłać Ci PDT.

Zaimplementuj oba i uzyskaj najlepsze z obu światów. Ale jeśli robisz tylko jedną, to IPN jest wiarygodny.

Jeden haczyk: jeśli wdrożysz oba, istnieje szansa, że Twoje płatności będą przetwarzane dwa razy. Zadbaj o to, aby do tego nie doszło. Aplikacja, którą napisałem, obsługuje PDT i IPN prawie identycznie (część backendu jest taka sama) i ten kod uzyskuje blokadę dla każdego użytkownika w bazie danych, tak że jeśli ten sam użytkownik spróbuje złożyć dokładnie tę samą płatność wiele razy, może być przetworzony tylko raz. Po przetworzeniu wynik tego procesu jest ponownie wykorzystywany do kolejnych prób jego przetworzenia.

Edytuj Jeszcze jedno: IPN niesie więcej informacji niż PDT. Istnieje wiele różnych wiadomości, które możesz otrzymać od IPN, takich jak powiadomienie o obciążeniu zwrotnym itp., a zatem naprawdę powinieneś je wdrożyć.


System PDT PayPal wysyła potwierdzenia zamówień do witryn handlowych, które używają Paypal Payments Standard i pozwala im uwierzytelnić te informacje. Takie strony może następnie wyświetlać te dane lokalnie na stronie "potwierdzenie zamówienia".

Kiedy stosować PDT?

IPN udostępnia te same możliwości opisane powyżej. Kiedy więc wybrać PDT zamiast IPN?

Z PDT Twoja strona jest natychmiast powiadamiana, gdy klient dokona płatności. W przypadku IPN istnieje jednak istotne opóźnienie między czasem, w którym Klient dokonuje płatności, a czasem, w którym Twoja strona otrzymuje powiadomienie o tym wydarzeniu.

Więc, użyj PDT, jeśli Twoja strona zawiera funkcja, która wymaga natychmiastowego powiadomienia o płatności.

Na przykład, rozważmy cyfrowy sklep muzyczny. Z PDT, ten sklep może pozwolić klientom pobrać swoje zakupy od razu, ponieważ PDT wysyła potwierdzenia zamówienia natychmiast. Z IPN taka natychmiastowa realizacja zamówienia nie jest możliwa.

Zalety IPN

PDT ma poważną słabość: wysyła potwierdzenia zamówienia raz i tylko raz. W rezultacie, gdy PDT wysyła potwierdzenie, Twoja strona musi być uruchomiona; w przeciwnym razie nigdy nie otrzyma wiadomości.

Z IPN, w przeciwieństwie, dostawa potwierdzeń zamówienia jest praktycznie gwarantowana, ponieważ IPN ponownie wysyła potwierdzenie, dopóki witryna nie potwierdzi odbioru. Z tego powodu 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ń. Dzięki temu, korzystając z IPN, Twoja strona może otrzymywać na przykład powiadomienia o obciążeniu zwrotnym, a także zamówienia potwierdzenia. Uwaga: Jeśli Twoja strona musi być natychmiast powiadamiana o płatnościach, możesz wdrożyć zarówno IPN, jak i PDT. Jeśli jednak to zrobisz, Twoja strona otrzyma dwa potwierdzenia zamówienia dla każdej sprzedaży. W rezultacie musisz być ostrożny, aby podjąć działania (np. wysłać produkt) na jednej kopii danej wiadomości potwierdzającej.

Dokumentacja Tutaj

 112
Author: Mr. Shiny and New 安宇,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-13 20:23:16

Re 1. PDT jest przeznaczony do korzystania z funkcji automatycznego zwrotu dla płatności internetowych. Automatyczny zwrot przekierowuje na stronę PDT po zapłaceniu pieniędzy sprzedawcy. Niestety nie jest możliwe użycie tej funkcji wraz z opcjonalnym kontem PayPal-używanym do włączania płatności kartą kredytową. Oto uwaga od PayPal: "jeśli włączyłeś Auto Return 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 otrzyma opcja powrotu.'. Użytkownik będzie miał możliwość powrotu do witryny (krok PDT) lub pozostania na stronie PayPal. Podsumowując, przy płatności kartą kredytową użytkownik może pominąć krok PDT, jeśli użytkownik nie kliknie linku "wróć do sklepu".

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

Re 3. W Twoim przypadku musisz uruchomić 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 doc na ten temat PDT vs IPN .

 1
Author: jan salawa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-16 10:07:28

To stare pytanie, ale moja prosta odpowiedź brzmiałaby - dlaczego nie skorzystać zarówno z PDT, jak i IPN? Będą działać dobrze dla transakcji kartowych.

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

Tymczasem można czekać na pełną weryfikację z IPN w tle. Po otrzymaniu możesz użyć tego do dalszej aktualizacji DB i przetworzenia spokój.

Możesz postępować zgodnie z tym przewodnikiem krok po kroku, który okazał się bardzo jasny i pomocny - i nadal jest ważny w 2018.

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

 0
Author: Sol,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-26 23:02:08