User's Manual

Table Of Contents
Merchant User Manual and Integration Guide May, 2005 107
Backend Integration - Payment Notifications
Instant Payment Notification (IPN)
12
1. Check that the payment_status is Completed.
2. If the payment_status is Completed, check the txn_id against the previous PayPal
transaction you have processed to ensure it is not a duplicate.
3. After you have checked the payment_status and txn_id, make sure the
receiver_email is an email address registered in your PayPal account.
4. Check that the price, mc_gross, and currency, mc_currency, are correct for the item,
item_name or item_number.
Once you have completed the above checks, you may update your database based on the
information provided.
If you receive an INVALID response, you should investigate. In some cases, this response is
caused by an IPN error, possibly from a change in the IPN format. To determine if it is an IPN
error, first examine your code. If you need further assistance, go to
http://www.paypal.com/wf/,
click the
Seller Tools topic, and then click Instant Payment Notification (IPN).
Specifying Your Notification URL
If you only need to receive your IPNs at a single URL, you can enter that URL in the
Preferences section of your Profile.
If you would like to receive payment notifications for different payments at different URLs
(i.e. if you need to separate payments made to different websites you run), you can manually
pass the IPN URL with each payment by including it in that payment’s HTML code. Use the
notify_url field to pass this information.
The notify_url for a specific payment will be saved, and any subsequent updates to that
payment (e.g. cleared eCheck) will be sent to that notify_url. When you pass a
notify_url in your HTML code, it will override any preferences you set in your Profile.
Using IPN with Multiple Currencies
With multiple currencies, you can accept payments in anyt of the PayPal-supported currencies
(see “PayPal-Supported Currencies” on page 20). As a result, your IPNs will then include
information about the currency of the payment. The following overview explains how IPN
interacts with multiple currencies.
NOTE: If you are using one of PayPal’s Website Payments solutions (e.g. PayPal Shopping
Cart), and would like to be paid in a currency other than U.S. Dollars, you will need to
set up your buttons for your currency of choice.
payment_gross and payment_fee
These variables reflect the amount received and corresponding fee of U.S. Dollar (USD)
payments. If the amount received and fee deducted are in a currency other than USD, the
variables will still appear in your IPN, but will have no values in them.
NOTE: payment_fee is not always present in IPNs, such as when a payment is pending.