С помощью D7 API создаю/редактирую заказ и в конце применяю купон.
С начала прошлой недели клиент начал жаловаться что купоны больше не применяются. Мой скрипт не менялся, на сайте если вручную вводить то купоны применяются, а через скрипт - нет.
С начала прошлой недели клиент начал жаловаться что купоны больше не применяются. Мой скрипт не менялся, на сайте если вручную вводить то купоны применяются, а через скрипт - нет.
Код |
---|
if ($custom_fields[24]) { // Тут купон $order = Bitrix\Sale\Order::load($order_id); $basket = $order->getBasket(); $basket->refreshData(["PRICE", "COUPONS"]); Bitrix\Sale\DiscountCouponsManager::init( Bitrix\Sale\DiscountCouponsManager::MODE_ORDER, [ "userId" => $order->getUserId(), "orderId" => $order->getId() ] ); Bitrix\Sale\DiscountCouponsManager::clear(true); Bitrix\Sale\DiscountCouponsManager::clearApply(true); Bitrix\Sale\DiscountCouponsManager::add($custom_fields[24]); $discounts = $order->getDiscount(); $discountsRes = $discounts->calculate(); setLogArr(['Disc',$discountsRes->isSuccess()]); // возвращает 1 $order->doFinalAction(true); $order->save(); } |
Делал getPrice - одинаковая сумма и до и после. API говорит что купон применяется, но по факту ничего не применяется.
В чём может быть причина?