当客户通过优惠券代码部分或全部付款时,订单状态设置为" 待付款"。我们使用第三方订单管理应用程序,该应用程序仅提取状态为" 处理"的订单。
普通订单会自动设置为"处理",所以只有在使用我们遇到问题的优惠券代码时才会这样。
有没有办法自动将订单状态更新为" Processing"当客户使用优惠券代码?
感谢您的帮助
(Magento Community 1.7)
答案 0 :(得分:0)
我认为这是可能的,但您可能需要将其与创建发票相结合 - 因为优惠券金额涵盖了订单价值,订单是技术支付的。我会创建一个观察者来捕获sales_order_place_after
并将其用于以下内容:
$order = $observer->getOrder();
/**
add code to check if the coupon amount covers the order value
*/
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
$invoice->register();
$invoice->getOrder()->setIsInProcess(true);
$invoice->getOrder()->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, '', false);
$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($invoice)
->addObject($invoice->getOrder());
$transactionSave->save();
$invoice->getOrder()->save();