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.
Czy karty kredytowe NAPRAWDĘ nie są przeznaczone do użytku z PDT? Chciałbym więcej niż zdanie.
Czy to oznacza, że użytkownik musi mieć / założyć konto PayPal, aby zapłacić?
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?
PayPal Account Optional
ustawienie, wMy selling preferences > Website preferences
którym możesz włączyć, aby nie zmuszać klientów do tworzenia / posiadania konta PayPal, tj. zapłacić kartą kredytową / debetową.Odpowiedzi:
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.
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
źródło
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 .
źródło
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/
źródło