PayPal拒绝付款请求并在Magento中给出货币错误

PayPal拒绝付款请求并在Magento中给出货币错误,magento,paypal,payment-gateway,Magento,Paypal,Payment Gateway,我知道这是一个非常普通的问题,但我的情况不同。请通读一遍 在使用基于印度货币的Magento商店配置PayPal时,我发现以下错误 PayPal gateway has rejected request. Currency is not supported (#10605: Transaction refused because of an invalid argument. See additional error messages for details). Internal Error (

我知道这是一个非常普通的问题,但我的情况不同。请通读一遍

在使用基于印度货币的Magento商店配置PayPal时,我发现以下错误

PayPal gateway has rejected request. Currency is not supported (#10605: Transaction refused because of an invalid argument. See additional error messages for details). Internal Error (#10001: Transaction failed due to internal error).
我已经尝试了所有的解决方案

我店里的基本货币是-印度卢比

我已经在app/code/core/Mage/Paypal/Model/Config.php中配置了所有货币 其余所有设置似乎都设置得很完美。但我还是克服了错误


请指出我犯了什么错误。

看起来印度卢比不是贝宝认可的货币。请咨询以了解您可以接受和不能接受的内容

贝宝不支持印度货币。因此,在通过Paypal进行付款结帐之前,您需要将您的基础货币转换为Paypal接受的货币。

我使用了小技巧来消除此错误。这不是一个好的解决方案,但有时它是有用的

转到app\code\core\Mage\Paypal\Model\Express\Checkout.php。找到公共函数start并找到下面的代码

$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);
有了这个技巧,现在你将去贝宝没有任何错误。但是你必须把价格从基础货币转换成美元

注意:此解决方案仅适用于Paypal Express用户


代码取自:

您能指定我应该更改哪个文件以使其接受印第安语吗currency@ManojChaurasia:你找到解决办法了吗?你的问题解决了吗?你能简单解释一下吗?我不确定有什么要解释的。PayPal不接受印度卢比,但价格显示,如果我的产品价格为Rs.70,则在PayPal支付页面上显示为70美元。如何解决这个问题?