Проблема в хуке order_calculate_discount Принято

1

Проблема заключается в том что параметры при расчёте корзины и при оформлении заказа отличаются. В частности при оформлении заказа не приходит в параметр 

'coupon_code' => 

В моём случае это приводило к тому что корректно рассчитанная по API скидка после оформления заказа исчезала. 

2 комментария

  • +1
    Михаил Ушенин Михаил Ушенин Webasyst 14 января 2021 14:38 #

    В версии Shop-Script 8.16 обнаружить такую проблему не удалось. В аргументе, который получает обработчик события order_calculate_discount, регистрируется массив, в котором в поле ['order']['params']['coupon_code'] содержится введённый покупателем купон.

    Если у вас это не так, попробуйте описать ситуацию подробнее, по шагам. Если вы уверены, что в коде Shop-Script есть ошибка, пришлите нам в службу поддержки минимальный код плагина, который позволяет продемонстрировать эту ошибку, и порядок действий пользователя, который приводит к её проявлению.

    • +1
      Павел Иванов Павел Иванов 14 января 2021 15:21 #

      Я делал это на версии 8.14.1 возможно что то изменилось с тех пор.

      	public function order_calculate_discount(&$params){
      	
      	//После какой то проверки возвращаю что введённый код подошел
      	$params['order']['params']['coupon_discount'] = 1;
      	
      	//сам код купона для обработки беру отсюда
      	$params['order']['params']['coupon_code'];
      	
      	//Применяю скиду соответствующую этому купону
      	return array(
                 'discount'    => $discount,		
      		);
      	}

      При расчёте всё ок но после оформления заказа скидка исчезала. Начал смотреть оказалось что  $params немного отличается (тот что при расчёте и тот что в финальном оформлении разные) из за этого и расчёт финальный меняется. В моём случае в финальном расчёте вообще не было 

      $params['order']['params']['coupon_code']

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите