17 private $eventManager;
22 private $priceCurrency;
32 $this->eventManager = $context->getEventDispatcher();
33 $this->priceCurrency = $priceCurrency;
48 if (
$item->isDeleted()) {
52 if (
$item->getQty() > 0) {
55 $item->isDeleted(
true);
59 $baseOrderRefund = $this->priceCurrency->round(
62 $orderRefund = $this->priceCurrency->round(
65 $order->setBaseTotalRefunded($baseOrderRefund);
66 $order->setTotalRefunded($orderRefund);
73 $order->setBaseDiscountTaxCompensationRefunded(
74 $order->getBaseDiscountTaxCompensationRefunded() +
$creditmemo->getBaseDiscountTaxCompensationAmount()
76 $order->setDiscountTaxCompensationRefunded(
77 $order->getDiscountTaxCompensationRefunded() +
$creditmemo->getDiscountTaxCompensationAmount()
83 $order->setBaseShippingTaxRefunded(
89 $order->setBaseAdjustmentPositive(
94 $order->setBaseAdjustmentNegative(
103 $order->setBaseTotalOnlineRefunded(
108 $order->setBaseTotalOfflineRefunded(
113 $order->setBaseTotalInvoicedCost(
120 $this->eventManager->dispatch(
'sales_order_creditmemo_refund', [
'creditmemo' =>
$creditmemo]);
__construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency)
execute(CreditmemoInterface $creditmemo, OrderInterface $order, $online=false)