Integration Guide

Instant Payment Notification (IPN)
Using IPN with Multiple Currencies
28 August 2005 Order Management Integration Guide
PayPal Response to Postback
PayPal responds to the postback with a single word in the body of the response: VERIFIED or
INVALID.
When you receive a VERIFIED response, perform the following checks:
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.
5. Check the the shared secret returned to you is correct.
Once you have completed the above checks, you can 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 click Instant Payment Notification (IPN).
Using IPN with Multiple Currencies
With multiple currencies, you can accept payments in any of the PayPal-supported currencies
(see Table 1.1, “PayPal-Supported Currencies, Currency Codes, and Maximum Transaction
Amounts” on page 13). 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.