Magento PayPal Express Checkout не работает с мультивалютой - PullRequest
0 голосов
/ 27 ноября 2018

У меня странная проблема в моем магазине Magento1.x.У меня есть магазин с мультивалютностью и PayPal в качестве способа оплаты.Валюты - доллары США, канадские доллары и евро.Моя базовая валюта - CAD.Теперь, когда я пытаюсь разместить заказ с PayPal с моей базовой валютой, он работает нормально.Но когда я переключаю свою валюту на USD, выдает ошибку -

"Шлюз Paypal отклонил запрос. Итоговые суммы товаров в корзине не соответствуют суммам заказа (#10413: транзакция отклонена из-за неверного аргумента. Дополнительные сведения см. В дополнительных сообщениях). "

Я думаю, что есть несовпадение итогов, потому что в моей корзине общая сумма равна 5,01USD и когда я пытаюсь разместить заказ с PayPal, он может получить цену, конвертированную с моей базовой валютой, которая составляет около 6,67 канадских долларов.

Таким образом, общая сумма не совпадает, и поэтому ошибка показывает

Я также пытался сопоставить цену с кодом -

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

Спасибо

...