request = $request; } /** * @param \Magento\Quote\Model\Quote\Item $item * @return $this */ protected function getDiscountPercent(\Magento\Quote\Model\Quote\Item $item) { $cartData = $this->request->getParam('cart'); if (isset($cartData[$item->getId()]['customer_discount_percent'])) { $discount = floatval($cartData[$item->getId()]['customer_discount_percent']); $item->setCustomerDiscountPercent($discount); } return $this; } public function execute(Observer $observer) { /* @var $cart \Magento\Checkout\Model\Cart */ $cart = $observer->getCart(); $logger = ObjectManager::getInstance()->get(LoggerInterface::class); foreach ($cart->getItems() as $item) { /* @var $item \Magento\Quote\Model\Quote\Item */ $this->getDiscountPercent($item); } } }