PayPal IPN & PDT


PayPal's PDT system sends order confirmations to merchant sites that use PayPal Payments Standard and lets them authenticate this information. Such sites can then display this data locally in an "order confirmation" page.



When to Use PDT?

IPN provides the same capabilities described above. So, when should you choose PDT instead of IPN?

With PDT, your site is notified immediately when a customer completes payment. With IPN, however, there is a material lag between the time a customer completes payment and the time your site receives notification of this event.

So, use PDT if your site includes a feature that requires immediate payment notification.

For example, consider a digital music store. With PDT, this store can let customers download their purchases right away since PDT sends order confirmations immediately. With IPN, such immediate order fulfillment is not possible.



Advantages of IPN

PDT has a a major weakness: it sends order confirmations once and only once. As a result, when PDT sends a confirmation, your site must be running; otherwise, it will never receive the message.

With IPN, in contrast, delivery of order confirmations is virtually guaranteed since IPN resends a confirmation until your site acknowledges receipt. For this reason, PayPal recommends that you implement IPN rather than PDT.

Another advantage of IPN is that it sends many types of notifications, while PDT sends just order confirmations. So, using IPN, your site can receive, for example, chargeback notifications as well as order confirmations. Note: If your site must be notified of payments immediately, you can implement both IPN and PDT. However, if you do, your site will receive two order confirmations for each sale. As a result, you must be careful to take action (say, ship a product) on just one copy of a given confirmation message.



Code Samples:



Variable reference:

Login to Me Too


Hi guys,


had a detailed view at IPN / PDT functionality and the description above.


But maybe you can help me with the following question:
What is the best practice to send a unique identifier (which I generated on my server side) to Paypal which I always get back from the Paypal server after payment has successfully/unsuccessfully been processed (regardless if PDT or IPN) to ensure I can always identify the paying user?
Is this the "custom" (cm) field or is there a better field to use (maybe something like e.g. token, hash)?


Thanks and best regards

Login to Me Too

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.