Magento2 – How to Catch Order Place After Event

magento-2.1magento2orders

I want to catch sales order place after event in Magento 2.

Here is my events.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="sales_order_place_after">
        <observer name="neo_ordercomment_observer_orderneo" instance="Neo\OrderComment\Observer\Orderneo" />
    </event>
</config>

And my observer file is Orderneo file,

<?php

namespace Neo\OrderComment\Observer;

class Orderneo implements \Magento\Framework\Event\ObserverInterface
{
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $order= $observer->getData('order');
        $comment = $this->getRequest()->getParams('comment');
        print_r("Catched event succssfully !"); exit;
    }
}

But it is not comming to this file,

It should print that last line and then exit. But it is redirecting to Magento's order success page.

Best Answer

You can try with below code in your observer and check,

class Orderneo implements \Magento\Framework\Event\ObserverInterface
{
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
     $order = $observer->getEvent()->getOrder();
     echo $orderId = $order->getId();
     $comment = $this->getRequest()->getParam('comment');
     print_r("Catched event succssfully !"); exit;
    }
}