Magento: How to change order status programmatically?
Here, I will show you, how you can change your order status programmatically (with PHP coding).
First, you need to load your order.
If you have order id, you can load order in the following way:-
$orderId = YOUR_ORDER_ID;
$order = Mage::getModel('sales/order')
->load($orderId);
If you have order increment id, you can load order in the following way:-
$orderIncrementId = YOUR_ORDER_INCREMENT_ID;
$order = Mage::getModel('sales/order')
->loadByIncrementId($orderIncrementId);
Now, here is the code to change order status:-
/** * change order status to 'Completed' */ $order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true)->save();
Similarly, you can change the order status to pending, processing, canceled, closed, holded, etc.
/** * change order status to 'Pending' */ $order->setState(Mage_Sales_Model_Order::STATE_NEW, true)->save(); /** * change order status to 'Pending Paypal' */ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true)->save(); /** * change order status to 'Processing' */ $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true)->save(); /** * change order status to 'Completed' */ $order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true)->save(); /** * change order status to 'Closed' */ $order->setState(Mage_Sales_Model_Order::STATE_CLOSED, true)->save(); /** * change order status to 'Canceled' */ $order->setState(Mage_Sales_Model_Order::STATE_CANCELED, true)->save(); /** * change order status to 'Holded' */ $order->setState(Mage_Sales_Model_Order::STATE_HOLDED, true)->save();
You can also cancel an order in the following way:-
if($order->canCancel()) {
$order->cancel()->save();
}
Hold an order:-
if($order->canHold()) {
$order->hold()->save();
}
Unhold an order:-
if($order->canUnhold()) {
$order->unhold()->save();
}
Hope this helps. Thanks.
Note: This code is written and tested in Magento version 1.3.2.4. It might not work in later versions of Magento.
Related posts:
- Magento: Quick way to create order invoice programmatically
- Magento: How to change or reorder top links?
- Magento: Displaying / Adding Gift Message in Order
- Magento: Reindex Data Programmatically
- Magento: Set Random Order in Collection using RAND()
- Magento: How to change Currency symbol by Model Override ?
- Magento: How to change default page layout?
- Magento: Product Edit Warning: Invalid argument supplied for foreach()
- Magento: How to change Admin URL Path?
- Magento: Get order option of configurable and bundle product in cart
