Magento – Magento 2 get order item actual price

magento2order-itemsprice

In Magento 2, how can I get order item actual price?
I tried using below way but it returns 0, although the code is working with Magento 1.9

use Magento\Framework\Event\ObserverInterface;
class SendOrderTxn implements ObserverInterface
{
    public function execute(
        \Magento\Framework\Event\Observer $observer
    ) {
        $order = $observer->getEvent()->getOrder();
        foreach ($order->getAllVisibleItems() as $item) {
            $orgamount = $item->getProduct()->getPrice();
            /* here $orgamount is 0 */
        }

        return $this;
    }
}

Best Answer

Try following code.

<?php
$orderid = 2;

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('Magento\Sales\Api\Data\OrderInterface')->load($orderid);

//Loop through each item and fetch data
foreach ($order->getAllItems() as $item)
{
   //fetch whole item information
   print_r($item->getData());

   //Or fetch specific item information
   echo $item->getId();
   echo $item->getProductType();
   echo $item->getQtyOrdered();
   echo $item->getPrice(); 

}
?>

I hope this will help you.

Related Topic