IPN vs PDT in Paypal


99

Ho qualche problema a scegliere tra la notifica di pagamento istantanea (IPN) di PayPal e il trasferimento dei dati di pagamento (PDT).

Fondamentalmente, gli utenti acquistano un prodotto una tantum sul mio sito, pagano su PayPal e tornano al mio sito. Capisco come funziona l'IPN ma ora vedo che potrei essere in grado di attivare le varie azioni che si verificano dopo un acquisto riuscito più facilmente con PDT, poiché i dati vengono restituiti lì e poi (invece di aver bisogno di un ascoltatore separato) .

Tuttavia, la documentazione PDT di PayPal contiene questa riga criptica: "PDT non è concepito per essere utilizzato con transazioni con carta di credito o Express Checkout". ... ma non riesco a trovare altro sull'argomento.

  1. Le carte di credito NON sono DAVVERO pensate per essere utilizzate con PDT? Vorrei più di una frase.

  2. Ciò significa che un utente deve avere / creare un account PayPal per pagare?

  3. Significa che se voglio consentire agli utenti di pagare con i loro conti PayPal E / O direttamente con carte di credito, devo implementare l'IPN?

Qualcuno che è passato attraverso questo gentilmente potrebbe far luce?


Ho trovato una pagina web che lo spiega davvero meglio. [PayPal PDT e IPN: come funziona?] [1] [1]: webmasters.stackexchange.com/questions/21634/…
Ananize Scott

Per quanto riguarda la domanda 2, esiste PayPal Account Optionalun'impostazione in My selling preferences > Website preferencescui puoi attivare per non costringere i tuoi clienti a creare / avere un account PayPal, ad es. pagare con carta di credito / debito.
kaiyaq

Risposte:


112

Le API per PDT e IPN sono simili. La differenza principale è quando ricevi la notifica. Per questo motivo consiglierei di implementare entrambi.

  • Con PDT ricevi immediatamente la notifica e puoi eseguire qualsiasi elaborazione aggiuntiva richiesta e mostrare all'utente una pagina di conferma.
  • Con IPN hai la garanzia di essere avvisato che il pagamento è stato ricevuto anche se il computer dell'utente esplode prima che possa inviarti il ​​PDT.

Implementali entrambi e ottieni il meglio da entrambi i mondi. Ma se ne stai facendo solo uno, IPN è quello affidabile.

Un problema: se si implementano entrambi, è possibile che i pagamenti vengano elaborati due volte. Assicurati che ciò non accada. L'applicazione che ho scritto gestisce il PDT e l'IPN in modo quasi identico (la parte di backend è la stessa) e quel codice acquisisce un blocco per utente web nel database, in modo che se lo stesso utente tenta di inviare lo stesso identico pagamento più volte può essere elaborato una sola volta. Una volta elaborato, il risultato di tale processo viene riutilizzato per eventuali tentativi successivi di elaborarlo.

Modifica Un'altra cosa: IPN trasporta più informazioni di PDT. Esistono molti messaggi diversi che puoi ricevere da IPN, come la notifica di chargeback, ecc., Quindi dovresti davvero implementarlo.


Il sistema PDT di PayPal invia conferme d'ordine ai siti commercianti che utilizzano PayPal Payments Standard e consente loro di autenticare queste informazioni. Tali siti possono quindi visualizzare questi dati localmente in una pagina di "conferma dell'ordine".

Quando utilizzare PDT?

IPN fornisce le stesse funzionalità descritte sopra. Quindi, quando dovresti scegliere PDT invece di IPN?

Con PDT, il tuo sito riceve una notifica immediata quando un cliente completa il pagamento. Con IPN, tuttavia, c'è un notevole ritardo tra il momento in cui un cliente completa il pagamento e il momento in cui il tuo sito riceve la notifica di questo evento.

Quindi, utilizza PDT se il tuo sito include una funzionalità che richiede una notifica immediata del pagamento.

Ad esempio, considera un negozio di musica digitale. Con PDT, questo negozio può consentire ai clienti di scaricare immediatamente i propri acquisti poiché PDT invia immediatamente le conferme dell'ordine. Con IPN, tale evasione immediata degli ordini non è possibile.

Vantaggi di IPN

PDT ha un grande punto debole: invia le conferme d'ordine una e solo una volta. Di conseguenza, quando PDT invia una conferma, il tuo sito deve essere in esecuzione; in caso contrario, non riceverà mai il messaggio.

Con IPN, al contrario, la consegna delle conferme d'ordine è virtualmente garantita poiché IPN invia nuovamente una conferma fino a quando il tuo sito non conferma la ricezione. Per questo motivo, PayPal consiglia di implementare IPN anziché PDT.

Un altro vantaggio di IPN è che invia molti tipi di notifiche, mentre PDT invia solo conferme d'ordine. Quindi, utilizzando IPN, il tuo sito può ricevere, ad esempio, notifiche di storno di addebito e conferme d'ordine. Nota: se il tuo sito deve essere informato immediatamente dei pagamenti, puoi implementare sia IPN che PDT. Tuttavia, se lo fai, il tuo sito riceverà due conferme d'ordine per ogni vendita. Di conseguenza, devi fare attenzione ad agire (ad esempio, spedire un prodotto) su una sola copia di un dato messaggio di conferma.

Documentazione qui


2
Grazie, capisco. Quindi, fondamentalmente, collega gli aggiornamenti del database a IPN (poiché verranno sempre elaborati) e collega le conferme degli utenti solo a PDT (come controllare se il pagamento è stato elaborato da IPN su una pagina in sospeso, ad esempio) ....?
Tom

1
+1 per l'implementazione di IPN e PDT, l'abbiamo fatto e funziona bene.
Mark Redman

3
@ Tom: La mia implementazione è: Quando arriva un PDT o un IPN, leggi i parametri e prova a elaborare il pagamento. Il processore A) blocca altre elaborazioni simultanee (per quell'utente) e B) controlla se è già stato elaborato. Al termine dell'elaborazione, con IPN hai finito, con PDT mostri all'utente una pagina di conferma o una pagina di ricevuta o qualsiasi altra cosa. Sia il lato PDT che il lato IPN possono funzionare correttamente se l'altro lato è inattivo, ma si ottiene una buona affidabilità dall'avere entrambi. Una percentuale piuttosto elevata di utenti non fa clic prima dell'arrivo dell'IPN.
Mr. Shiny and New 安 宇

8
Questa risposta non risponde alle domande n. 1, n. 2 o n. 3 dell'OP, ma è accettata?
Clint Pachl

2
IPN impiega fino a 4 giorni per rispondere ... fa schifo
Toskan

1

Rif. 1. PDT deve essere utilizzato con la funzione Ritorno automatico per i pagamenti su sito web. Il ritorno automatico reindirizza al sito PDT dopo aver pagato denaro al venditore. Sfortunatamente non è possibile utilizzare questa funzione insieme a Conto PayPal opzionale, utilizzato per abilitare il pagamento con carta di credito. Ecco una nota di PayPal: "Se hai attivato il ritorno automatico e hai scelto di attivare il conto PayPal opzionale per i nuovi utenti, un nuovo utente non verrà reindirizzato automaticamente al tuo sito Web, ma avrà la possibilità di tornare". . L'utente avrà la possibilità di tornare al tuo sito (passaggio PDT) o rimanere sul sito PayPal. Per riassumere, quando si paga con carta di credito, l'utente può saltare il passaggio PDT se l'utente non fa clic su "torna al link del negozio".

Rif. 2. Sta a te decidere quali opzioni di pagamento vuoi consentire. Se desideri consentire il pagamento senza un account PayPal, puoi abilitare Account opzionale . Se desideri consentire solo agli utenti con account PayPal, disabilita tale funzione. Potrebbero esserci più opzioni.

Rif. 3. Nel tuo caso è necessario attivare l'azione dopo l'acquisto con successo. Il modo consigliato sarebbe implementare l'IPN. PDT non funziona per tutti i casi e non garantisce la consegna dei messaggi. Ecco il collegamento al documento che copre quell'argomento PDT vs IPN .


0

Questa è una vecchia domanda, ma la mia semplice risposta sarebbe: perché non utilizzare sia PDT che IPN? Funzioneranno bene per le transazioni con carta.

PDT può fornire lo stato della transazione immediata al tuo sito web, dove puoi controllare rapidamente lo stato di successo o fallimento del pagamento e fornire all'utente il messaggio appropriato.

Nel frattempo, puoi attendere la verifica completa da IPN in background. Una volta ricevuto, puoi utilizzarlo per aggiornare ulteriormente il tuo DB ed elaborare l'ordine.

Puoi seguire questa guida passo passo che ho trovato molto chiara e utile - ed è ancora valida nel 2018.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.