2004
Instant Payment Notification Manual
22
Copyright 2004 PayPal, Inc. All rights reserved
Using IPN with Multiple Currencies
With multiple currencies, you can accept payments in U.S. Dollars, Canadian Dollars,
Euros, Pounds Sterling, and Yen. 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. For additional
information, please refer to the PayPal website or the manual for your PayPal
Website Payments Solution.
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.
These values are absent for non-USD payments so that IPN scripts will not process
these amounts as USD. This will intentionally break IPN scripts that do not handle
Multiple Currencies payments if they receive a non-USD payment. However, legacy
IPN scripts will continue to work as before as long as the merchant only receives USD
payments.
Multi-currency IPN Variables
IPNs that use the payment_gross variable will have the following multi-currency
variables added. 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.
• mc_gross: Full amount of payment received, before transaction fee.
Note: If payment is in USD, the payment_gross value will equal mc_gross.
• mc_fee: Transaction fee associated with the payment. Variable should function
like “payment_fee” variable (variable does not appear when payment pending,
and so on).