Какие скидки были применены к товарам в заказе
Нужен всего один метод OrderEdit::getOrderedDiscounts, его нет в документации, т.к. используется только в админке битрикс. Первым параметром передайтеся объект заказа, а второй указывает необходимость перерасчета.
$discountsList = \Bitrix\Sale\Helpers\Admin\OrderEdit::getOrderedDiscounts($order, false);
В $discountsList будет массив вида:
"RESULT" => [ "BASKET" => [ 933136 => [ "DISCOUNT_ID" => 14706, "COUPON_ID" => "", "APPLY" => "Y", "DESCR" => "скидка 10%, не более 9 999 р. (330 р.)" ], 933137 => ['...'] ], "DELIVERY" => ['...'] ]
Т.е. для каждого товара корзины будут указаны применённые скидки. Также в массиве "PRICES" будет информация о сумме скидки, а в "DISCOUNT_LIST" информация о самой скидке
Еще из метода getDiscount можно получить информцию. Например, о размере скидки (330р) конкретной скидки (Акция - 10%) на каждый товар. Вызывается у объекта заказа.
$order->getDiscount()->getApplyResult()
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.