От имени зарегистрированного пользователя пытаюсь создать заказ через API d7 и применить купон.
//купон
$coupon='КОД_КУПОНА';
DiscountCouponsManager::init();
DiscountCouponsManager::clear();
DiscountCouponsManager::add($coupon);
//создадим временный заказ и корзину
$temp_order = Order::create('s1',1);
$basket = Basket::create('s1');
//Наполняем товарами
$temp_order->setBasket($basket);
//получим примененные скидки
$discounts = Discount::buildFromOrder($temp_order);
$apply_discounts=$discounts->getApplyResult(true);
//уберу купон из расчетов
DiscountCouponsManager::delete($coupon);
print_r($apply_discounts);
В результате создается заказ в объекте и показывает примененные скидки, все отлично, НО если в корзине лежит любой товар, то купон не применяется! Хотя скидка по купону действует без ограничения и приоритет выше всех правил.
Почему товар в корзине играет роль и как сделать что бы не играл?
Такое ощущение что при создании заказа проверяется, пустая ли текущая корзина и если не пустая, то берутся купоны из нее в обход того что указываю я какие именно купоны применять.
//купон
$coupon='КОД_КУПОНА';
DiscountCouponsManager::init();
DiscountCouponsManager::clear();
DiscountCouponsManager::add($coupon);
//создадим временный заказ и корзину
$temp_order = Order::create('s1',1);
$basket = Basket::create('s1');
//Наполняем товарами
$temp_order->setBasket($basket);
//получим примененные скидки
$discounts = Discount::buildFromOrder($temp_order);
$apply_discounts=$discounts->getApplyResult(true);
//уберу купон из расчетов
DiscountCouponsManager::delete($coupon);
print_r($apply_discounts);
В результате создается заказ в объекте и показывает примененные скидки, все отлично, НО если в корзине лежит любой товар, то купон не применяется! Хотя скидка по купону действует без ограничения и приоритет выше всех правил.
Почему товар в корзине играет роль и как сделать что бы не играл?
Такое ощущение что при создании заказа проверяется, пустая ли текущая корзина и если не пустая, то берутся купоны из нее в обход того что указываю я какие именно купоны применять.