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.

Спасибо

0 ответов

Другие вопросы по тегам