Simply put, IPN is the means by which PayPal can inform your server
of a payment, a change in payment status, or other, possibly more
urgent information. IPN differs from nearly every other way merchants
use PayPal, because the IPN transaction is initiated by PayPal.
Except for IPN (and PDT), all parts of the PayPal system are
user initiated: nothing happens unless you, as
the account holder, take action. IPN, on the other hand, can be
triggered at any time (even when you are not at your computer), hours
or even days after the last payment was made to your account.
IPN carries out this communication using HTTP, the same protocol used
when you access the PayPal system with your web browser. In the case
of IPN, however, roles are reversed: PayPal acts as an automated
browser, making a request of your web site, which acts as the web
server. This swapping of traditional positions can be confusing, but
once you know that IPN posts originate at PayPal and request the IPN
script on your site just like any other web browser on the Internet
might, IPN becomes much easier to
To get started with IPN, see [Hack #65] .