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
  • 1
    @Yordan: Is your issue solved?
    – user51361
    Jul 25, 2017 at 7:23

2 Answers 2

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.

11
  • Thank you i just change only USD and its work!!! How about if i want to use my country currency it is IDR Mar 18, 2015 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, 2015 at 14:14
  • How can i allow my default currency on the screen? Showing ---> IDR is it possible? Mar 18, 2015 at 14:25
  • System->Configuration->Currency Setup. Set Base currency to USD and in allowed currencies select only IDR
    – Marius
    Mar 18, 2015 at 14:37
  • 1
    Iam confused pleasee see my screen shot, do you have skype? Thank you!!! Mar 18, 2015 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

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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