Magento PayPal Express Checkout не работает с мультивалютой
Я сталкиваюсь со странной проблемой в моем магазине Magento1.x. У меня есть магазин с мультивалютностью и PayPal в качестве способа оплаты. Валюты - доллары США, канадские доллары и евро. Моя базовая валюта - CAD. Теперь, когда я пытаюсь разместить заказ с PayPal с моей базовой валютой, он работает нормально. Но когда я переключаю свою валюту на доллар, это дает мне ошибку -
"Шлюз Paypal отклонил запрос. Итоговые суммы товаров в корзине не соответствуют суммам заказа (#10413: транзакция отклонена из-за неверного аргумента. Дополнительные сведения см. В дополнительных сообщениях об ошибках)".
Я думаю, что есть несовпадение итогов, потому что в моей корзине общая сумма составляет 5.01USD, и когда я пытаюсь разместить заказ с PayPal, это может быть получение цены, конвертированной с моей базовой валютой, которая составляет около 6.67 CAD.
Таким образом, общая сумма не совпадает, и поэтому ошибка показывает
Я также пытался сопоставить цену с кодом -
app/code/local/Mage/Paypal/Model/Api/Abstract.php in the method - _exportLineItems.
В строке 412 ниже $result = null; я добавил
$running_total = 0;
Затем над этим кодом -$request[sprintf($privateFormat, $i)] = $value; я добавил
if ($publicKey == 'amount') {
$running_total += $value;
}
Затем, после завершения цикла foreach - foreach ($items как $item) {, я добавил, как показано ниже -
if ((isset($request['ITEMAMT'])) && ($request['ITEMAMT'] > 0)) {
if ($running_total <> (float) $request['ITEMAMT']) {
$difference = ($running_total - (float) $request['ITEMAMT']);
// Apply difference to first product.
$request['L_AMT0'] = (string) ((float) $request['L_AMT0'] - $difference);
}
}
Таким образом, с этим цена становится такой же в PayPal, и это работает. Но проблема в том, скажем, у нас есть общая сумма 5,01 долларов США, что составляет 6,67 канадских долларов. Когда я пытаюсь разместить заказ в PayPal, сумма там отображается - 5,01 CAD, что означает, что цена не конвертируется.
Я думаю, что это проблема Magento, и мой клиент не желает покупать какое-либо расширение.
Я буду очень признателен, если кто-то может помочь нам в этом, так как это действительно странный вопрос в Magento.
Спасибо