Instant Payment Notification (IPN) is the method that PayPal uses to automatically notify a defined web page when a PayPal payment has been made. For a complete description refer to the PayPal IPN Manual which you can find on the http://www.paypal.com/ipn site.
The principle that PayPal uses is as follows : You first create a PayPal 'buy now' button and place it on your web page or create the buttons dynamically from a database. When someone clicks on your 'buy now' button, PayPal posts data to the web page you defined during IPN set up. Your web page must then respond back to the paypal site.
After PayPal has confirmed the payment, it posts data back to your web page. If payment is correctly completed, PayPal sends 'completed' to your web page along with other data which your site can monitor. Once completed has been received by your web page, you process the data in whatever way you want.
The way in which IPN works using the 'handshake' method means that there is no requirement for an https SSL site. This simplifies the installation requirements for the site.
PHP-KeyCodes takes the IPN data from PayPal, carries out security checks to make sure the details are correct, then emails the purchaser with the next key code, all without any intervention by yourself.