Integration Guide

Table Of Contents
Instant Payment Notification (IPN)
Using IPN with Multiple Currencies
34 October 2006 Order Management Integration Guide
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 “PayPal-Supported Transactional Currencies” on page 17). 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 Euro, you will need to set up
your buttons for your currency of choice.
mc_gross and mc_fee
These variables reflect the amount received and corresponding fee of your payments. In order to
see those variables IPN has to use thepayment_gross variable.
z mc_gross:Full amount of payment received, before transaction fee.
z mc_fee: Transaction fee associated with the payment.
NOTE: mc_fee is not always present in IPNs, such as when a payment is pending.
z For subscription IPNs, such as signup, cancel, modify, failed, and eot, mc_currency is the
currency of the subscription, rather than the currency of the payment.
NOTE: The variables mc_gross and mc_fee will not be added to IPNs with txn_type:
subscr_signup
,
subscr_cancel
,
subscr_modify
,
subscr_failed
, or
subscr_eot
.