2

enter image description hereenter image description hereThis error occurred when the customer has clicked the PayPal button:

PayPal gateway has rejected request. Currency is not supported (#10605: Transaction refused because of an invalid argument. See additional error messages for details).

Could you help me what should i do?

enter image description here

  • 1
    @Yordan: Is your issue solved? – user51361 Jul 25 '17 at 7:23
6

Paypal does not support all currencies.
You can find a list of supported currencies in Mage_Paypal_Model_Config::$_supportedCurrencyCodes.

'AUD', 'CAD', 'CZK', 'DKK', 'EUR', 'HKD', 'HUF', 'ILS', 'JPY', 'MXN', 'NOK', 'NZD', 'PLN', 'GBP', 'SGD', 'SEK', 'CHF', 'USD', 'TWD', 'THB'

You can make your base currency one of the supported currencies, enter your prices in the supported currency, fill in a conversion rate and use on frontend only your currency. Not a pretty solution but it should work.

  • Thank you i just change only USD and its work!!! How about if i want to use my country currency it is IDR – Renal Yordan Mar 18 '15 at 14:11
  • @RenalYordan. I explained In the answer. Make USD the default currency (this means that all your prices have to be entered in USD) then add IDR as a second currency. Allow inly IDR to be used in the website (you can do this from the system->configuration->currency section). Fill in an exchange rate (System->Currency). – Marius Mar 18 '15 at 14:14
  • How can i allow my default currency on the screen? Showing ---> IDR is it possible? – Renal Yordan Mar 18 '15 at 14:25
  • System->Configuration->Currency Setup. Set Base currency to USD and in allowed currencies select only IDR – Marius Mar 18 '15 at 14:37
  • 1
    Iam confused pleasee see my screen shot, do you have skype? Thank you!!! – Renal Yordan Mar 18 '15 at 16:01
1

I have used small trick to rid this error. It is not good solution but sometime it is useful.

Go to app\code\core\Mage\Paypal\Model\Express\Checkout.php. Find the public function start and find below code

$this->_api->setAmount($this->_quote->getBaseGrandTotal())
            ->setCurrencyCode($this->_quote->getBaseCurrencyCode())
            ->setInvNum($this->_quote->getReservedOrderId())
            ->setReturnUrl($returnUrl)
            ->setCancelUrl($cancelUrl)
            ->setSolutionType($solutionType)
            ->setPaymentAction($this->_config->paymentAction);

Just replace the below code  

$this->_api->setAmount($this->_quote->getBaseGrandTotal())
            ->setCurrencyCode('USD')
            ->setInvNum($this->_quote->getReservedOrderId())
            ->setReturnUrl($returnUrl)
            ->setCancelUrl($cancelUrl)
            ->setSolutionType($solutionType)
            ->setPaymentAction($this->_config->paymentAction);

With this trick now you will go to paypal without any error. But you have to convert the price from Base Currency to USD.

Note: This solution is only for Paypal Express Users.

Code Taken From: http://chandreshrana.blogspot.in/2016/11/paypal-gateway-has-rejected-request.html

  • @rana : after applied your code, all the price display like a dollar at payment page. – user51361 Jul 25 '17 at 9:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.