что есть не подходят. У меня к примеру купон на подарок, подарок я кладу в корзину сам через апи (не через функционал подарков).
Пробовал после оформления заказа привязать купон
\Bitrix\Sale\DiscountCouponsManager::init(
\Bitrix\Sale\DiscountCouponsManager::MODE_ORDER, [
"userId" => $order->getUserId(),
"orderId" => $order->getId()
]
);
$arCoupons = explode(",", $_REQUEST['COUPON']);
foreach ($arCoupons as $coupon){
\Bitrix\Sale\DiscountCouponsManager::add($coupon);
}
$discounts = $order->getDiscount();
$discounts->calculate();
Но купон считается не использованным и в таблицу b_sale_order_coupons не попадает. Хочу сделать это как-то через апи битрикса, чтобы в дальнейшем при обновлениях битрикса не было проблем, да и чтобы например если это одноразовый купон, он считался использованным уже.
Как мне привязать купон к заказу и сделать что он был использован, даже если он не был использован по версии битрикса?
у меня от формулировки "использован, но не использован" шерсть на загривке дыбом встает. У вас всего-навсего своя схема добавления подарка (как я понимаю, автомат). сча файл кину. делается на событии ДО СОХРАНЕНИЯ заказа
Спасибо. Я на событии onManagerCouponAdd "посадил" расчет. Там не хватало пары параметров. Я делал CUSTOM_PRICE=Y, но надо было провайдера указать, размер скидки и CUSTOM_PRICE=N (чтобы каллбак функция пересчитала корзину) и я так понял сделать $basket->refresh();
лоза же ему лоза... что ж вы, как Колумб в Индию через Атлантику... берете файл, что я выложил (надо будет все пост накатать), в нем впихиваете свой купон, перед впихиванием добавляете товар в заказ. и все (надо будет только проверить, что с отгрузками все в порядке)
Евгений, подскажите. Товар с 100% скидкой в корзине. В корзине и в оформлении заказа он приходит с 0 ценой (как подарок). Но если я выбираю товар через апи, то окончательная цена у него не как у подарка. Подскажите пожалуйста как через АПИ выбрать корзину, чтобы посмотреть - применился ли купон к товару и он стал подарочным. Я думал по цене смотреть, но он возвращает все цены без скидок и не определить подарок это или нет.
до момента оформления заказа в базе результатов скидок нет. работайте с объектом корзины и данными, которые отдает объект скидок
Обсуждают сегодня