Мы работаем в 1.9 & php7; обнаружил эту проблему с мошенничеством PayPal (из-за разницы сумм).
Все правильно в интерфейсе (применяются налоги); но при оформлении заказа и расчете magento использует общую сумму без налогов.
Фактический неверный расчет заказа:
Цена товара без налогов + доставка с налогами = общая сумма к оплате
Переключитесь на php5 и расчет верен.
Какая-то идея?
Благодарность!
magento-1.9
tax
php-7
Джоан М
источник
источник
Ответы:
Решение
Я создал модуль magento для решения проблем magento с подсчетом итогов для php7. Проблемы, с которыми я столкнулся, были, в частности, в том, что налоги были дважды добавлены к общей сумме оплаты с помощью модуля amazon на странице оформления заказа amazonpayments.
кредиты
Ответ, предоставленный archigrafix в этом посте ( /magento//a/97107/35665 ), решил мои проблемы - так что это просто исправление, упакованное в модуль.
Модуль:
https://github.com/hartmut-ltd/magento-php7-totals-fix
источник
Я действительно не знаю, поможет ли это в любом случае, но кое-что, чтобы рассмотреть.
Возможно, что ваш
collecttotals
модельный заказ заказывается по-другому, и этот налог заказывается / применяется после grand_totalВы можете проверить, является ли это проблемой следующим образом. (обратите внимание, это включает в себя настройку файла ядра, чтобы получить некоторую отладочную информацию, пожалуйста, не пытайтесь сделать это на живом сайте!)
Отредактируйте метод, расположенный в:
Mage_Sales_Model_Quote_Address::collecttotals
и добавьте одну строку в метод, который позволит вам выводить модели по мере их обработки.
убедитесь, что регистрация включена.
Хвост файл журнала через консоль:
tail -f system.log
Воспроизведите проблему через веб-интерфейс.
Вы получите следующие записи в своем журнале (это из ванили 1.9.2.2 - у вас могут быть другие записи)
Вы увидите, что это повторяется, так что просто посмотрите, где он начинается и заканчивается, должно быть легко увидеть шаблон
Обратите внимание на последние две записи выше: налог идет до grand_total. Вполне возможно, что этот порядок не в порядке, и после grand_total появляется налог, поэтому к grand_total не будут применяться налоги.
РЕДАКТИРОВАТЬ:
Итак, я не увидел, что упомянутый вопрос на самом деле указывает на сортировку коллекций, чтобы быть проблемой. Я подозревал, что это может быть проблемой, но я не проверял это сам в PHP7
Есть решение, но оно не очень хорошее. Любое новое добавленное в магазин расширение, которое вставляет модели в коллектор, должно быть отмечено и дополнительно добавлено к сортировке, иначе все может пойти еще хуже. Может быть небольшая проблема технического обслуживания в будущем.
Просто форсируйте порядок сортировки, поместив определенный
<sort_order>
в итоговую конфигурацию. Вы можете сделать это через свое собственное расширение, которое будет иметь только config.xml, где вы указываете порядок для каждого сборщика.в config.xml есть директива как таковая:
Используйте большие промежутки между каждой директивой сортировки, чтобы оставить место для вставки в дальнейшем.
Как уже упоминалось, не очень элегантно, но может решить вашу непосредственную проблему.
Также обратите внимание, что в системе есть другие директивы коллектора, поэтому они также могут быть неправильными / нуждаются в корректировке
Проверьте расширение основных продаж config.xml и найдите
<totals>
Там вы найдете:
Там могут быть другие в других расширениях, будь то ядро / сторонние
Надеюсь, это поможет.
PS: я не проверял ничего из этого в PHP7. Я знаю, что размещение директивы sort_order работает под php5.x
источник
На Magento 1.6.2 и PHP 7.0.2 я решил это следующим образом:
1 - Сначала создали локальный файл config.xml: скопировал /app/code/core/Mage/Sales/etc/config.xml в /app/code/local/Mage/Sales/etc/config.xml
2 - поменял вот так
Теперь он вычисляет правильно:
источник