helper = $helper; $this->logger = $logger; $this->json = $json; $this->publisher = $publisher; } public function execute(\Magento\Framework\Event\Observer $observer) { if (!$this->helper->getNetSuiteIsEnabled()) { return $this; } $order = $observer->getEvent()->getOrder(); $customerEmail = $order->getCustomerEmail(); $orderId = $order->getRealOrderId(); $this->logger->info('OrderPlace observer executed'); $this->logger->info('Order ID: ' . $order->getRealOrderId()); $orderStatus = $order->getState(); if ($orderStatus == 'pending') { $this->logger->info('OrderPlace observer: Order status is pending'); return $this; } $collectedData = [ 'order_id' => $orderId, 'customer_email' => $customerEmail, 'order_status' => $orderStatus ]; $this->publish($this->json->serialize($collectedData)); $msg = "\n".date('YmdHis')." increment id ".$order->getIncrementId(). " | entity_id ".$order->getId() ." | paymentMethodCode ".$order->getPayment()->getMethod(); return $this; } /** * Publishing data * * @param $data * @return void */ public function publish($data) { $this->publisher->publishData($data); } }