/**
  * @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);
     }
 }
示例#2
0
 /**
  * @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();
     }
 }