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.
|