Перейти к содержанию
Форум поддержки пользователей VamShop

Модуль бандероли и оплаты наложенным платежом


Рекомендуемые сообщения

Проблема следующая, после установки модуля к обычной курьерской доставке по Москве стали добавляться некие суммы от 10,80 до 33,92 рублей. То есть клиент из Москвы выбирая курьерскую доставку и оплату наличными, неожиданно получал сумму курьерской доставки не ровно 200 рублей, а 216,80. При выключении модуля наложенного платежа все становилось нормально. Создается такое впечатление что модуль добавляет ко всем видам оплаты (я пробовал даже к самовывозу и оплате наликом в магазине, и к "по согласованию с администрацией" тоже десяточку накидывает :)) некую расcчитанную им сумму. В чем же разгадка?  ???

Ссылка на сообщение
Поделиться на другие сайты
  • 1 month later...

http://vamshop.ru/node/222

Вот он, но тут еще надо посмотреть как настроить его в зависимости от стоимости заказа, скажем до 300р. 10р. за доставку, а свыше 300р бесплатно...а там настроек таких нету

Ссылка на сообщение
Поделиться на другие сайты

а что это за модуль такой?

как-то пробигало такое, он по-моему при установке прописывает в конфигурацию параметры от другого модуля (названия совпадают), и потому цепляет значения из другого. деталей не помню, давно было.

Ссылка на сообщение
Поделиться на другие сайты
  • 7 months later...

подтверждаю проблему.

При установке модуля оплаты "Оплата наложенным платежом" и выборе "Самовывоз" добавляется определенная сумма к заказу, зависит от суммы, 3%

Что это и как убрать?

Ссылка на сообщение
Поделиться на другие сайты

разобрался:

Сумма увеличивается потому, что в модуле "Оплата наложенным платежом" стоит процент страхового сбора - 3%.

Просто решение - установить это значение в 0 (зачем вообще этот страховой сбор нужен?)

VaM, предлагаю, когда решение проблемы найдено, сразу включать в FAQ это, а тему закрывать, форум читать упаришься, тем очень много, и одинаковых вопросов куча.

А FAQ дополнительно разбить на подразделы.

Ссылка на сообщение
Поделиться на другие сайты

Т.е.

Сумма увеличивается потому, что в модуле "Оплата наложенным платежом" стоит процент страхового сбора - 3%.

Просто решение - установить это значение в 0 (зачем вообще этот страховой сбор нужен?)

Ничего себе решение - после этого для наложенного платежа не будет рассчитываться страховой сбор. Потому что кто-то, в силу своей неопытности, не знает "зачем вообще этот страховой сбор нужен?".

И вместо того, чтобы исправить ошибку в модуле оплаты, Саша заносит эту чушь в ФАК.

Ссылка на сообщение
Поделиться на другие сайты

Почему чушь?!

Если не понятно откуда вылазит эта надбавка, вполне себе ползено добавить информацию в faq, лишним уж точно не будет.

Ссылка на сообщение
Поделиться на другие сайты

Ну по-хорошему в FAQ надо было написать так:

В: При установке модуля оплаты "Оплата наложенным платежом" добавляется 3% к сумме заказа при выборе других форм доставки (Курьерская, Самовывоз и пр), почему?

О: Сумма увеличивается потому, что в модуле "Оплата наложенным платежом" стоит процент страхового сбора - 3%.

Просто решение - установить это значение в 0. Но при этом не будет правильно считаться сумма при выборе в качестве оплаты данного модуля, так как не учтется страховой сбор. Решение ищется.

А то и правда написано не ахти :)

Ссылка на сообщение
Поделиться на другие сайты

Потому что это ошибка в модуле, которую нужно исправить. Её скорее в баглист нужно заносить, а не в ФАК, потому что залатывая одну ошибку ты добавляешь другую - убираешь страховой сбор с наложенного платежа. Если уж и писать в ФАКе заметку, то в варианте, предложенном perplexor.

P.S. На счёт "не понятно откуда вылазит эта надбавка" - это ты серьёзно?

Ссылка на сообщение
Поделиться на другие сайты

Конечно серьёзно.

Это ж не мой модуль,а пользователя одного.

Попробую покопаться, может найду ошибку эту.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 weeks later...

ну что, кто-нибудь пробовал найти ошибку невозожно работать, у меня в 2 раза пытается увеличить стоимость доставки

Ссылка на сообщение
Поделиться на другие сайты

Воспрос поставлен не корректно. Конечно нашёл - её видно не вооружённым взглядом. Я же написал - "ошибка в модуле".

По большому счёту там неправильно сделано в принципе - увеличивается стоимость доставки в методе update_status(), т.е. каждый раз когда загружается модуль. Значит если сделать рефреш на страницу, то стоимость будет увеличиваться каждый раз. И конечно страховка увеличивается не взирая на используемый способ доставки.

Правильно такие наценки/скидки делать в итоговом модуле. И разумеется только для определённых способов доставки.

Ссылка на сообщение
Поделиться на другие сайты

Попробую поставить ещё один вопрос, но корректный: как исправить? Ставишь % в 0, неправильно считается по модулю наложки, ставишь отличный от нуля, неправильно остальные модули считают....круг замкнулся

Ссылка на сообщение
Поделиться на другие сайты

Вынести код добавления страхового сбора из модуля оплаты в итоговый модуль. Предварительно исправив его (а по сути просто переписав).

Ссылка на сообщение
Поделиться на другие сайты

Там работы не много, а вот со временем беда. Я думаю если Саша захочет, то он и сам справится. Если изобретать ничего не будет :(

Ссылка на сообщение
Поделиться на другие сайты

Может вообще вот это всё удалить из /includes/modules/payment/codru.php


//****************
// расчет страхового сбора
      $ensur = $_SESSION['cart']->total*MODULE_PAYMENT_CODRU_TAX/100;
// доставка письмом наложенным платежом
      if ($_SESSION['shipping']['id'] == 'letter_letter')
          {
          if ($_SESSION['cart']->weight <= MODULE_PAYMENT_CODRU_BASE_LETTER_WEIGHT)
              $_SESSION['shipping']['cost'] = MODULE_SHIPPING_LETTER_HANDLING + MODULE_PAYMENT_CODRU_BASE_COST_LETTER;
          else
              {
              $num_dop_base_weight = ceil(($_SESSION['cart']->weight - MODULE_PAYMENT_CODRU_BASE_LETTER_WEIGHT) / MODULE_PAYMENT_CODRU_BASE_LETTER_WEIGHT);
              $_SESSION['shipping']['cost'] = MODULE_SHIPPING_LETTER_HANDLING + MODULE_PAYMENT_CODRU_BASE_COST_LETTER + $num_dop_base_weight* MODULE_PAYMENT_CODRU_NEXT_BASE_LETTER_COST;
              }
          }
// доставка бандеролью наложенным платежом
elseif ($_SESSION['shipping']['id'] == 'bander_bander')
    {
    $find_query = vam_db_query("select geo_zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where zone_country_id = '" . $order->delivery['country']['id'] . "' and zone_id = '" . $order->delivery['zone_id'] . "'");
    $check_zone = vam_db_fetch_array($find_query);
    $del_zone = $check_zone['geo_zone_id']-1;
    if ($del_zone == 1)                // 1-я зона
        $base_tarif = MODULE_PAYMENT_CODRU_BASE_COST_BANDER_1;
    elseif ($del_zone == 2)                // 2-я зона
        $base_tarif = MODULE_PAYMENT_CODRU_BASE_COST_BANDER_2;
    elseif ($del_zone == 3)                // 3-я зона
        $base_tarif = MODULE_PAYMENT_CODRU_BASE_COST_BANDER_3;
    elseif ($del_zone == 4)                // 4-я зона
        $base_tarif = MODULE_PAYMENT_CODRU_BASE_COST_BANDER_4;
    elseif ($del_zone == 5)                // 5-я зона
        $base_tarif = MODULE_PAYMENT_CODRU_BASE_COST_BANDER_5;
    elseif ($del_zone == 6)                // авиапочта
        $base_tarif = MODULE_PAYMENT_CODRU_BASE_COST_BANDER_AVIA;

    if ($_SESSION['cart']->weight <= MODULE_PAYMENT_CODRU_BASE_BANDER_WEIGHT)
              $_SESSION['shipping']['cost'] = MODULE_SHIPPING_BANDER_HANDLING + $base_tarif;
    else
              {
              $num_dop_base_weight = ceil(($_SESSION['cart']->weight - MODULE_PAYMENT_CODRU_BASE_BANDER_WEIGHT) / MODULE_PAYMENT_CODRU_BASE_BANDER_WEIGHT);
              $_SESSION['shipping']['cost'] = MODULE_SHIPPING_BANDER_HANDLING + $base_tarif + $num_dop_base_weight * $base_tarif;
              }
    }

      $_SESSION['shipping']['cost'] = $_SESSION['shipping']['cost']*(1+MODULE_PAYMENT_CODRU_TAX/100) + $ensur;
      $order->cart();

      if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_CODRU_ZONE > 0) ) {
        $check_flag = false;
        $check_query = vam_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_CODRU_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");
        while ($check = vam_db_fetch_array($check_query)) {
          if ($check['zone_id'] < 1) {
            $check_flag = true;
            break;
          } elseif ($check['zone_id'] == $order->delivery['zone_id']) {
            $check_flag = true;
            break;
          }
        }
[/code]

Ссылка на сообщение
Поделиться на другие сайты

нельзя, страховой сбор должен рассчитываться.

Андрей хороший вариант предложил, вставить этот кусок кода в ot_total, я бы и сам у себя поправил, если бы соображал в програмировании :)

Ссылка на сообщение
Поделиться на другие сайты
  • 4 weeks later...

В версии 1.49 новый модуль.

А тот, что здесь обсуждается, он не совсем корректный, я его удалил.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...