Jump to content

Error 10605 - Currency is not supported


AlexTrup

Recommended Posts

Hi there, on my store www.thompsonboeke.com I'm having problems completing transactions, getting the following error

 

  1. PayPal response:
  2. TIMESTAMP -> 2013-09-11T08:17:22Z
  3. L_ERRORCODE0 -> 10605
  4. L_SHORTMESSAGE0 -> Transaction refused because of an invalid argument. See additional error messages for details.
  5. L_LONGMESSAGE0 -> Currency is not supported
  6. 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:

post-485008-0-79328700-1378888531_thumb.jpg

 

post-485008-0-69927200-1378888529_thumb.jpg

 

post-485008-0-78339500-1378888526_thumb.jpg

 

post-485008-0-98497100-1378888524_thumb.jpg

 

post-485008-0-92656700-1378888518_thumb.jpg

 

post-485008-0-22221500-1378888522_thumb.jpg

 

Thanks,

 

Alex

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

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 :)

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

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

 

  • Like 1
Link to comment
Share on other sites

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 by elanthi123 (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 1 year later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...