/** * @param \Magento\Sales\Model\Order\Item $orderItem * @return void */ protected function refundOrder(\Magento\Sales\Model\Order\Item $orderItem) { $creditmemoLoader = $this->creditmemoLoaderFactory->create(); $creditmemoLoader->setOrderId($orderItem->getOrderId()); $creditmemoLoader->setCreditmemo($this->getCreditmemoData($orderItem)); $creditmemo = $creditmemoLoader->load(); if ($creditmemo && $creditmemo->isValidGrandTotal()) { $creditmemo->setOfflineRequested(true); $this->creditmemoManagement->refund($creditmemo, true); } }
/** * @param \Magento\Sales\Model\Order\Item $orderItem * @return void */ protected function refundOrder(\Magento\Sales\Model\Order\Item $orderItem) { $creditmemoLoader = $this->creditmemoLoaderFactory->create(); $creditmemoLoader->setOrderId($orderItem->getOrderId()); $creditmemoLoader->setCreditmemo($this->getCreditmemoData($orderItem)); $creditmemo = $creditmemoLoader->load(); if ($creditmemo && $creditmemo->isValidGrandTotal()) { $creditmemo->setOfflineRequested(true); $creditmemo->register(); $creditmemoTransaction = $this->transactionFactory->create()->addObject($creditmemo)->addObject($creditmemo->getOrder()); $creditmemoTransaction->save(); } }