What is the difference between Payment Data Transfer (PDT) and Instant Payment Notification (IPN)?

The primary function of Payment Data Transfer is to display payment transaction details to buyers when they're redirected back to your site upon payment completion. There are cases where you don't receive notification of all transactions, such as with pending transactions, refunds, reversals, or if you've enabled the PayPal Account Optional feature. For these reasons, or if you are using this data to fulfill orders, PayPal recommends that you enable Instant Payment Notification.

Both Instant Payment Notification and Payment Data Transfer send back the same data; however, there are several differences.

Payment Data Transfer:

  • Requires that Auto Return be enabled.
  • At the end of the Auto Return flow, PayPal performs a GET with the txn token.
  • Your script must POST back the txn token, along with the identity token, with cmd=notify-synch.
  • PayPal POSTs back SUCCESS/FAIL and the data.

Instant Payment Notification:

  • Doesn't require that Auto Return be enabled.
  • At the end of the PayPal payments flow, PayPal POSTs the IPN data.
  • You validate the data from PayPal by POSTing the data back to PayPal with cmd=_notify-validate.
  • PayPal POSTs back VERIFIED or INVALID.

For more information refer to the PayPal Payments Standard Integration Guide by following these steps:

  1. Go to https://developer.paypal.com/.
  2. Click Documentation.
  3. Under "Classic API References," click Products.
  4. Click PayPal Payments Standard.