Reputation: 116
I got issue while integrating paypal ipn , i works fine when payment is done in USD but when payment done in GBP or EUR paypal send :
pending_reason=>multi_currency
pending_reason=>multi_currency
why so i want to receieve funds in 3 currecny USD, GBP and EUR why there is problem with GBP and Eur , please guide how can i fix it
Upvotes: 1
Views: 1823
Reputation: 2206
When an account receives a new currency, PayPal holds that payment until the account owner decides whether to open a balance in that currency, convert it automatically to their primary currency, or refuse the payment. See:
https://www.paypal.com/us/cgi-bin/webscr?cmd=p/sell/mc/mc_receive-outside
So go into the receiver account and accept the payment to open a balance in the currency and this won't happen to future payments in those currencies.
Upvotes: 3
Reputation: 725
To fix this, you could create an array with all valid currencies that you accept for payment, and then check that mc_currency is in that array when it is passed via the IPN.
$valid_currency = array("USD", "GBP", "EUR");
if(!in_array($_POST['mc_currency'], $valid_currency) {
// Not a valid currency according to your list
} else {
// Is a valid currency according to your list
}
Click here to read more about Paypal IPN. (Page 5 describes IPN Variables)
Upvotes: 0