Convert quote to order in Magento 1

$quoteId = 6078;
$store = Mage::getSingleton(‘core/store’)->load(1);
$quote = Mage::getModel(‘sales/quote’)->setStore($store)->load($quoteId);

$payment = $quote->getPayment();
$items = $quote->getAllVisibleItems();

//$this->createOrder(6112, $payment);
$convertObj = Mage::getSingleton(‘sales/convert_quote’);
//$order = $convertObj->toOrder($quote);
$order = $convertObj->addressToOrder($quote->getShippingAddress());
$order->setPayment($convertObj->paymentToOrderPayment($payment));
$order->setBillingAddress($convertObj->addressToOrderAddress($quote->getBillingAddress()));
$order->setShippingAddress($convertObj->addressToOrderAddress($quote->getShippingAddress()));
// convert quote items
foreach ($items as $item) {
// @var $item Mage_Sales_Model_Quote_Item
$orderItem = $convertObj->itemToOrderItem($item);
$options = array();
if ($productOptions = $item->getProduct()->getTypeInstance(true)->getOrderOptions($item->getProduct())) {
$options = $productOptions;
}
if ($addOptions = $item->getOptionByCode(‘additional_options’)) {
$options[‘additional_options’] = unserialize($addOptions->getValue());
}
if ($options) {
$orderItem->setProductOptions($options);
}
if ($item->getParentItem()) {
$orderItem->setParentItem($order->getItemByQuoteItemId($item->getParentItem()->getId()));
}
$order->addItem($orderItem);
}
$order->setCanShipPartiallyItem(false);
$order->setStatus(‘Processing’);
$order->save();

Leave a comment