currency selection in plugin settings not reflected in paypal

I have the currency in the fundraising plugin set to "Canada, Dollars - $" but if I try to donate $1 CAD then paypal tells me "Total: $1.00USD"
Is this a problem with paypal or is there a setting somewhere else in the plugin that I missed?
Is anybody else seeing this problem?

Our donation page is at http://gwmfoundation.com/donations/donate-now/ if anybody else wants to test it.

Any suggestions would be appreciated

  • aecnu
    • WP Unicorn

    Greetings oncourssadmin,

    Thank you for bringing this to our attention.

    I have tested this on our production server and find that you are absolutely correct and that even though I have selected Canadian Dollars in the gateway for the currency, when I get to PayPal it is indeed represented in USD.

    In addition, to make sure that this is indeed a bug I tested out Euro which is one of the specific currencies I accept in PayPal in addition to USD. But even set to Euro when I get to PayPal the currency says USD and it is 100% certain there is no currency exchange.

    Therefore I confirm that there is a bug within the PayPal currency integration portion of this plugin and I will alert the lead developer of this anomaly asap.

    Thank you again for your spot on feedback and for being a WPMU Dev Member!

    Cheers, Joe

    Dev note: please see my post above, it explains the problem and the test results.

  • Cole
    • The Incredible Code Injector

    Hmm, I was able to recreate the issue as well, paypal will default back to USD if a correct currency code is not provided. Sorry about this issue, I'm making the proper adjustments with the upcoming update.

  • aecnu
    • WP Unicorn

    Greetings oncourssadmin,

    I have found the solution for you to hack it in.

    The mistake in the code is in the paypay-standard.php file located in the wp-content/plugins/fundraising/gateways folder line 87 where the code says:

    $this->add_query('&currency_code', $this->settings['currency']);

    and should be:

    $this->add_query('&currency_code', $this->settings['currency']);

    This fixed it right up for me when testing on my production server. In addition, it would be my contention that this same problem exists for the return URL line on line 91:

    $this->add_query('&notify_url', admin_url('admin-ajax.php?action=wdf_process_ipn'));

    and it should be:

    $this->add_query('&notify_url', admin_url('admin-ajax.php?action=wdf_process_ipn'));

    Please advise that this works correctly for you with this change.

    Cheers, Joe

  • oncourssadmin
    • Site Builder, Child of Zeus

    That did it.
    Thanks again for the speedy response.

    Just a note for anybody who may have found this solution: the code sample above shows the ampersand character but the plugin code had the html code "& amp;" (without the space between '&' and 'amp;'), probably my browser is just interpreting the html code.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.