Site icon MageComp Blog

How to Get Order Status in sales_order_place_after event in Magento 2

How to Get Order Status in sales order place after event Magento 2

Ordering and receiving products at home are easy and look simple but it is not as easy as you think for the store owner. Because once customer place an order, it process and passes through different Magento 2 order Management statuses like New Order, Pending, Payment Processing, On Hold, Complete, Canceled. But while developing or custom coding, sometimes we need to fetch current order status like payment is successfully done or not? or to fetch order state for creating or setting up further rules and conditions to fulfill business requirements.

Here we back with a small piece of code to get Order status in sales_order_place_after event.
To do the same first you need to create observer into events.xml

app\code\Vendor\Extension\etc\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="vendor_sales_order_place_after" instance="Vendor\Extensoin\Observer\OrderObserver" />
</event>
</config>

After that, you need to create Observer file at following location.
app\code\Vendor\Extension\Observer\OrderObserver.php

<?php
namespace Vendor\Extension\Observer;
 
use Magento\Framework\Event\ObserverInterface;
 
class OrderObserver implements ObserverInterface
{
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
         $statuscode = $observer->getEvent()->getOrder()->getStatus();
         $statuslabel = $observer->getEvent()->getOrder()->getStatusLabel();
     }
}

You can use this code according to your need of getting order status anywhere inside custom development or custom extension.

Lastly, smash that stars if the code worked for you and don’t forget to comment down below if you are looking for any help regarding this code.

Happy Coding.

Exit mobile version