PayPal donations stored as USD in our DB regardless of actual currency
Sponsorships completed through PayPal are recorded in our database as USD regardless of the actual payment currency.
According to PayPal’s documentation, the transaction currency is provided via mc_currency
in IPN/PDT, but we are not using this data.
There also appears to be a second bug: when a user starts a donation, $Payment->set_posted_donation_values()
sets the currency to the gateway type (e.g., “paypal”) instead of a proper currency code which is causing an empty value in the currency column for transactions that are not completed.
Useful Information
- Currency incorrectly set for
set_posted_donation_values
(passing paypal as a value toset_donation_currency()
): - IPN handler (currency is not updated once transaction is completed):
- PayPal Docs: