What IPN and PDT Are

What IPN and PDT Are

Instant Payment Notification (IPN) is a means by which PayPal contacts your server directly every time a transaction completes; in other words, IPN is a call-back routine and part of an asynchronous process (in that the notification can happen any time after the transaction). This design has its benefits, such as accommodating eChecks that can take three to four days to process.

Payment Data Transfer (PDT), on the other hand, is fueled directly by your customer's actions. First, you enable PayPal's Auto Return feature, such that when a payment is completed, the customer is immediately returned to your site, along with some transaction information. Restricting the navigation options in this way drives the payment process in a linear (and thus synchronous) fashion, making the PayPal transaction virtually seamless to your customer. The site is notified of the payment immediately, and your more impatient customers might not head for the complaint box so quickly.

The big advantage of IPN over PDT is that the PayPal server keeps trying until it successfully notifies your server of a transaction (if the customer closes the browser window or clicks the browser's Stop button, a PDT will be interrupted). The big advantage of PDT, on the other hand, is that the customer doesn't have to wait for the asynchronous IPN transaction to take place (IPN usually happens within a few seconds, but it can take up to four days in extreme cases).

IPN and PDT aren't necessarily mutually exclusive; in fact, there are times when you'd want to use both technologies. For instance, say you're selling downloadable software (known in the trade as digital fulfillment). You might choose to employ PDT so that a customer could pay and be immediately sent to a download page, without having to wait for a confirmation email. But you might also employ IPN so that you could be certain that any and all transactions were recorded automatically by your server and that your customer could return to your site days later and still retrieve your product.

     Python   SQL   Java   php   Perl 
     game development   web development   internet   *nix   graphics   hardware 
     telecommunications   C++ 
     Flash   Active Directory   Windows