IPN (Instant Payment Notification) is a feature that most payment-providers support. It means that info about the sale is sent to a script on your server immediately when the sale completes. This allows O3 to insert the sale, add the user to the database, then send a confirmation email to the customer. There are separate IPN scripts for each payment processor which supports IPN - because they all use different formats.
For details on the confirmation emails that are sent out, see the Confirmation Emails page.
You must enable IPN for your payment provider - usually done through your account settings. Some require extra things set up - i.e. StartmPay has a secret code you define in your account which is sent with the IPN. The IPN-Stormpay script the checks this valus is correct as an additional security measure.
There are some options in the settings which affect the IPN scripts' behaviour. Youll find them under the 'General ECommerce' and 'Email' settings:
For IPN to work you must ensure your settings are correct. First: If the IPN URL is wrong the script won't get the data.
It's advisable to enable writing to a log file, as described in the installation instructions. If you have any problems with orders not being logged etc. this is the first place to look!
If no log file is produced, check the permissions on the log directory are correct, allowing anyone to write to the directory. The IPN scripts generate plenty of debug info anyway - so you can often just run them to see what's going on.
You can run the ipn script directly, and hence see it's output, by:
O3's IPN script can log all IPNs to a database table. This ensures no data is lost, even if the log file can't be written for whatever reason. This table may become quite large over time, so it's advisable to empty the table occasionally if you get loads of sales, using your database admin tool (i.e. phpMyAdmin)