Я создаю плагин для Prestashop, и я наткнулся на эту проблему расчета налогов.
Последовательность выполнения программы выглядит следующим образом:
Человек размещает заказ на веб-сайте электронной коммерции, заказ принимается, детали заказа, такие как товары, цены, налоги, скидки и т. Д., Отправляются во внешнюю службу API счетов.
Примером заказа может быть:
(Эти цены включают налоги)
1x футболка 20,64
1x Доставка 125
1x скидка -18,58 (в этом конкретном тестовом примере скидка составляет 90% от продукта, математика проста 20,64 * 0,90 = 18,58)
Сумма заказа после учета налогов: 127.06
Все в порядке, но когда я отправляю детали в API, порядок сохраняется следующим образом:
(Эти цены сохранены без применения налога, ставка налога составляет 25%)
1x футболка 16,51
1x Доставка 100
1x Скидка -14
Сумма заказа после учета налогов: 128,14
Как видите, общая сумма заказов не соответствует разнице, разница составляет 1,08, я думаю, это проблема скидок и налогов.
Стоит отметить, что внешний сайт выполняет свои собственные вычисления для отправленных значений, например, продуктов, налогов и т. Д. Я не могу повлиять на то, как внешний сайт выставления счетов выполняет свои вычисления. Я думаю, что проблема возникает в том порядке, в котором операции выполняются на разных платформах.
Также стоит отметить, что код отлично работает без скидки.
Что я могу сделать перед отправкой значений, чтобы в обоих местах были одинаковые значения.