Magento: Change order status programmatically
This post shows how to change order status programmatically in Magento by using your order_id or order_increment_id.
First, you need to load your order. You can load order by either order_id or order_increment_id.
Load order by “order id”
$orderId = YOUR_ORDER_ID;
$order = Mage::getModel('sales/order')->load($orderId);
Load order by “order increment id”
$orderIncrementId = YOUR_ORDER_INCREMENT_ID;
$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
Change order status to Complete
/** change order status to 'Completed' */
$order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true)->save();
/*** 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();
Cancel an order
if($order->canCancel()) {
$order->cancel()->save();
}
Hold an order
if($order->canHold()) {
$order->hold()->save();
}
Unhold an order
if($order->canUnhold()) {
$order->unhold()->save();
}
Comments
Post a Comment