Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SalesOrderBeforeSaveObserver.php
Go to the documentation of this file.
1 <?php
8 
10 
12 {
19  public function execute(\Magento\Framework\Event\Observer $observer)
20  {
22  $order = $observer->getEvent()->getOrder();
23 
24  if ($order->getPayment()->getMethodInstance()->getCode() != 'free') {
25  return $this;
26  }
27 
28  if ($order->canUnhold()) {
29  return $this;
30  }
31 
32  if ($order->isCanceled() || $order->getState() == \Magento\Sales\Model\Order::STATE_CLOSED) {
33  return $this;
34  }
38  if (!$order->hasForcedCanCreditmemo()) {
39  $order->setForcedCanCreditmemo(true);
40  }
41 
42  return $this;
43  }
44 }
$order
Definition: order.php:55