AlexTrup Posted September 11, 2013 Share Posted September 11, 2013 Hi there, on my store www.thompsonboeke.com I'm having problems completing transactions, getting the following error PayPal response: TIMESTAMP -> 2013-09-11T08:17:22Z L_ERRORCODE0 -> 10605 L_SHORTMESSAGE0 -> Transaction refused because of an invalid argument. See additional error messages for details. L_LONGMESSAGE0 -> Currency is not supported L_SEVERITYCODE0 -> Error I believe everything is fine in my settings (which I have included below). My Presta version is 1.5.3.1, PayPal module is 3.5.9 The only currency on my account is South African Rand (ZAR), which is ID 3. All other currencies have been deleted. Could that have anything to do with it? I do know ZAR is not a standard PayPal currency, while I've tried a couple of different PayPal business accounts I have in different countries. Screenshots of settings below: Thanks, Alex 1 Link to comment Share on other sites More sharing options...
Hedera Posted October 25, 2013 Share Posted October 25, 2013 Hi, I have a smart solution for you. Use latest PayPal for USA module. 1) Before installing it, go to preferences - contact - change country to USA. 2) Install the module and re-change a country to yours. 3) In restriction check all currencies. I use 1 non supported currency and 1 supported. It works for both 1 Link to comment Share on other sites More sharing options...
elanthi123 Posted December 13, 2014 Share Posted December 13, 2014 I found a simple solution to this problem. I use Prestashop 1.6. My problem was that I had 3 currencies, USD, EUR, and Albanian Lek (which is not supported by Paypal). My default currecy was Albanian Lek, and when customer tries to pay via paypal, it just shows the 10605 error message: Currency is not supported. I fixed this by changing this : At modules/paypal/express checkout/process.php at line 102: $this->currency = new Currency((int)$this->context->cart->id_currency); to $this->currency = new Currency((int)$this->context->cart->id_currency=1); which "1" is the ID of EUR in my configurations ( I put 1 because i want paypal to convert Albanian LEK to EUR in checkout) And change line 239: $fields['L_PAYMENTREQUEST_0_AMT'.$index] = Tools::ps_round($product['price_wt'], $this->decimals); to : $fields['L_PAYMENTREQUEST_0_AMT'.$index] = Tools::ps_round($product['price_wt']/140, $this->decimals); I divide by 140 because this is the exchange rate from Albanian LEK to EUR. What I achieve with this is to use Albanian Lek (or whatever default currency that is not supported by Paypal) and at the checkout paypal does the conversion with the rate specified by you in EUR (or another supported currency) Hope this solves the problem for the others. For me it does the trick 1 Link to comment Share on other sites More sharing options...
elanthi123 Posted December 13, 2014 Share Posted December 13, 2014 (edited) I found a simple solution to this problem. I use Prestashop 1.6. THis will work only if you have 2 currencies, one of them unsupported. In my case I have EUR, and Albanian Lek (which is not supported by Paypal). My default currecy was Albanian Lek, and when customer tries to pay via paypal, it just shows the 10605 error message: Currency is not supported. I fixed this by changing this : At modules/paypal/express checkout/process.php at line 102: $this->currency = new Currency((int)$this->context->cart->id_currency); to $this->currency = new Currency((int)$this->context->cart->id_currency=1); which "1" is the ID of EUR in my configurations ( I put 1 because i want paypal to convert Albanian LEK to EUR in checkout) And change line 239: $fields['L_PAYMENTREQUEST_0_AMT'.$index] = Tools::ps_round($product['price_wt'], $this->decimals); to : $fields['L_PAYMENTREQUEST_0_AMT'.$index] = Tools::ps_round($product['price_wt']/140, $this->decimals); I divide by 140 because this is the exchange rate from Albanian LEK to EUR. You can make the exchange rate be taken dynamically from the Back End configurations which would be like: in line 103 add: $currency = new Currency((int)$this->context->cart->id_currency=1); // Where 1 is EUR currency-ID $this->conv= $currency->conversion_rate; And you divide in line 239: $fields['L_PAYMENTREQUEST_0_AMT'.$index] = Tools::ps_round($product['price_wt']/$this->conv, $this->decimals); What I achieve with this is to use Albanian Lek (or whatever default currency that is not supported by Paypal) and at the checkout paypal does the conversion with the rate specified by you in EUR (or another supported currency) Hope this solves the problem for the others. For me it does the trick Edited December 13, 2014 by elanthi123 (see edit history) 1 Link to comment Share on other sites More sharing options...
lozaria Posted June 19, 2016 Share Posted June 19, 2016 (edited) Thanks a lot for this fix and I cannot understand why this bug still exists in the newest 3.10.10 (06/17/2016) Paypal version? Shame! Edited June 19, 2016 by lozaria (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now