Неверная плата или неверный возврат процента от общей суммы

  • 1 Ответов
  • 519 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Использую VirtueMart 2.6.4 и стандартные методы доставки (weight_countries) и оплаты (standard).

Пользуюсь подобной схемой:
Способ доставки 1 (weight_countries) - min = 2001 <-- Минимальная сумма заказа
Способ доставки 2 (weight_countries) - max = 2000+200 <-- Максимальная сумма заказа (200 - Тариф упаковки)

Способ оплаты 1 (standard) - min = 2001+10% - <-- Минимальная сумма (10% - Плата или возврат процента от общей суммы)
Способ оплаты 2 (standard) - max = 2000 <-- Максимальная сумма

При сумме до 2000 к примеру 1450 - сумма упаковки будет стоить 200 - итого 1650 - здесь все верно.
При сумме свыше 2001, например 3300 - стоимость упаковки должна составлять 330 - итого 3630 - это как должно! А на деле идет двойной подсчет.

К примеру я покупаю 3 товара по 1100;
Промежуточный итог составляет - 3300;
Cпособ оплаты 1 - 366;
Итого - 3666;

На данный момент этот подсчет выглядит примерно так (3300+330=3630+36=3666), а надо (3300+330=3630). Даже если взять 4 товара по 1100, то будет выглядеть так (4400+440=4840+48=4888), а надо (4400+440=4840) или 5 товаров (5500+550=6050+61=6111), короче нужно чтоб он не прибавлял эти 36, 48, 61 и т.д., а брал 10% от промежуточного итога и суммировал с ним.
Я так понимаю он берет 10% из промежуточного итога и суммирует с 10% двух предыдущих слагаемых как указано в примере выше.

Решение хранится в vmpsplugin.php, но как сделать ума не прилажу  ! Хотя возможно есть вариант проще? Кто-нибудь сталкивался с подобным?

В файле vmpsplugin.php комментируем или удаляем:

Код
$cart_prices[$this->_psType . 'Value'] = $cartTotalAmount - $cartTotalAmountOrig;