Подскажите, как сделать, чтобы при оплате банковской картой стоимость доставки была равной 0
Вариант 1:
$cart = $this->context->cart;
После этого изменить id_carrier объекта Cart.
Как будет выглядеть итоговый вариант.
$this->context->cart->id_carrier = 3
Так можно присвоить?
Или необходимо как то обновить объект Cart $this->context->cart->update();
И всё это указать в validation.php перед вызовом validateOrder($cart->id?
===========================================================
Вариант 2:
В методе доставки вычисляем сумму оплаты:
public function getOrderShippingCost($params, $shipping_cost)
{
$method = 'open' - переменная где находится выбранный метод оплаты (open - банковская карта)
$shipping_cost = ($method == 'open') ? 0 : 300;
return $shipping_cost;
}
Как получить в $method выбранный метод оплаты???
===========================================================
Вариант 3:
Возможно есть что то ещё?