Reputation: 8295
I have the following issue.
My customer paid for the product that costs 13,60 € but when he paid in Paypal it was 13,60 $, it didn't convert the price into $. So that is the odd thing...because my prices on my site are in EUROS. My paypal account's main currency is set to € as I created it in Spain and my bank account is in Spain. The customer also is in Spain and his Paypal is based in Spain.
I am using PayPal express checkout
Upvotes: 0
Views: 286
Reputation: 101
Good Day!
This has been 4 years ago, does it still apply today? It seems this is still recurring. Here is what I have but the currency still defaults to USD is there a policy change in PayPal i.e. new fee, new membership type to get this to change for Express Checkout using NVP?
I have tried both but no luck so far:
<form name="pp_form" id="pp_form" action="pp_ec_redirect.php" method="POST">
<input type="hidden" name="VERSION" value="109.0"></input>
<input type="hidden" name="PAYMENTREQUEST_0_PAYMENTACTION" value="SALE"></input>
<input type="hidden" name="PAYMENTREQUEST_0_CURRENCYCODE" value="CAD"></input>
<input type="hidden" name="PAYMENTREQUEST_0_AMT" value="10.00"></input>
<input type="hidden" name="PAYMENTREQUEST_0_DESC" value="xxx"></input>
<input type="hidden" name="MAXAMT" value="100.00"></input>
<input type="hidden" name="NOSHIPPING" value="1"></input>
<input type="hidden" name="ALLOWNOTE" value="1"></input>
<input type="hidden" name="RETURNURL" value="http://www.xxxxx.ca/xxxxx.php?rid=xxxxx"></input>
<input type="hidden" name="CANCELURL" value="http://www.xxxxx.ca/xxxxx.php?rid=xxxxx"></input>
<input type="image" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal"></input>
</form>
and
<form name="pp_form" id="pp_form" action="pp_ec_redirect.php" method="POST">
<input type="hidden" name="PAYMENTREQUEST_0_PAYMENTACTION" value="SALE"></input>
<input type="hidden" name="CURRENCYCODE" value="CAD"></input>
<input type="hidden" name="PAYMENTREQUEST_0_AMT" value="10.00"></input>
<input type="hidden" name="PAYMENTREQUEST_0_DESC" value="xxx"></input>
<input type="hidden" name="MAXAMT" value="100.00"></input>
<input type="hidden" name="NOSHIPPING" value="1"></input>
<input type="hidden" name="ALLOWNOTE" value="1"></input>
<input type="hidden" name="RETURNURL" value="http://www.xxxxx.ca/xxxxx.php?rid=xxxxx"></input>
<input type="hidden" name="CANCELURL" value="http://www.xxxxx.ca/xxxxx.php?rid=xxxxx"></input>
<input type="image" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal"></input>
</form>
Found the fix at least for the PHP API version i am using, instead of CURRENCYCODE or PAYMENTREQUEST_0_CURRENCYCODE
<input type="hidden" name="currencyCodeType" value="CAD"></input>
Hope this helps the next guy who needs an answer to this riddle. Thanks for reading this far... all the best!
Pal,
Benjohn
Upvotes: 0
Reputation: 19356
You must include CURRENCYCODE (or PAYMENTREQUEST_0_CURRENCYCODE, depending on your API version) in your SetExpressCheckout and DoExpressCheckoutPayment API calls.
If you don't specify the currency code in the API call, it defaults to USD.
Upvotes: 1