I have created new extension to get data after successful order in magento 2.
I have created below files.
Narola\Eye4frauds\etc\module.xml
Narola\Eye4frauds\registration.php
Narola\Eye4frauds\etc\events.xml
Narola\Eye4frauds\Observer\Checkout\OnepageControllerSuccessAction.php
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 instance="Narola\Eye4frauds\Observer\Checkout\OnepageControllerSuccessAction" name="Narola_Eye4frauds_observer_checkout_onepagecontrollersuccessaction_sales_order_place_after"/>
</event>
</config>
here is my OnepageControllerSuccessAction.php
file
namespace Narola\Eye4frauds\Observer\Checkout;
class OnepageControllerSuccessAction implements
\Magento\Framework\Event\ObserverInterface
{
public function __construct(\Magento\Sales\Model\Order $order)
{
$this->order = $order;
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
$orderids = $observer->getEvent()->getOrderIds();
echo "<pre>"; var_dump($orderids); echo "</pre>"; die;
try {
foreach ($orderids as $orderid) {
$order = $this->order->load($orderid);
$order->hold();
$order->save();
}
} catch (\Magento\Framework\Exception\LocalizedException $e) {
// Error logic
} catch (\Exception $e) {
// Generic error logic
}
}
}
here I have printed var_dump($orderids);
but it does not display. This file is not called.
Did I make any mistake?