GenieGate, Version 1.1.0 (PHP 5) manual

The IPN process

Abstract

If you have not changed the URL's for paypal, you can probably skim most of this section. By default, the paypal button contains reasonable defaults.

PayPal sends receipt of payment through a process known as IPN.

The IPN url.  That IPN url will be something like http://YourHost.example.com/your/path/to/users/pp_ipn.php

where http://YourHost.example.com/your/path/to/users is wherever you have placed the users/ directory.

To test IPN without using paypal, set the debug as described (in ~/geniegate/conf/geniegate.ini to verified.dbg, then enter the information as if paypal had done so. The fields of interest are receiver_email, item_number, mc_gross, mc_currency, txn_id, custom, payment_status. txn_id must be a unique string, custom is the userID of the person gaining access and receiver_email must be the paypal email address set in your ~/geniegate/conf/geniegate.ini these are documented in greater depth in the paypal manual.

[Tip] Tip

You may choose to adjust logfile in your configuration, this is a path to a logfile. When set, useful debugging information such as why a transaction is failing is written to the log file. You can then inspect this file for clues when tracking down problems.

Under normal circumstances (when debug is not enabled), this URL is not accessed by a browser and will fail on GET requests.

When PayPal sends an IPN, it checks the fields from PayPal and adds the information to the users properties, so if the persons first and last name had not been previously known, they will be captured during the IPN process. existing properties will not be overwritten. These properties are a subset of those used by vCards.