Estoy tratando de marcar una orden de "Procesamiento" como Completa cuando recibo una respuesta determinada de un servicio externo. Tengo todo configurado para esto, pero el único problema es que las órdenes se mantienen en el estado de procesamiento.Marcar una orden de Magento como completa programáticamente
estoy generando una factura (no creo que necesito esto, sin embargo, ya que cada elemento está marcado como "factura" en el backend de Magento) y un envío de este modo:
$order = Mage::getModel('sales/order')... (etc)
$shipment = $order->prepareShipment($quantities);
$shipment->register();
$shipment->setOrder($order);
$shipment->save();
$invoice = $order->prepareInvoice($quantities);
$invoice->register();
$invoice->setOrder($order);
$invoice->save();
Esto no tiene Sin embargo, parece que lo está haciendo; no recibo ningún error de este código, pero el orden permanece como procesamiento. En el backend todavía puedo ver el botón "Enviar" en la parte superior del pedido, y cada elemento está en el estado "facturado".
Cualquier consejo sería muy apreciado.
Gracias, el código en el artículo hizo el truco después de que cambié a a un envío en lugar de una factura. – gregdev
Desafortunadamente, el enlace ahora está roto. – Mike
Sería realmente bueno tener un enlace actualizado. archive.org todavía tiene una versión del enlace en caso de que alguien esté interesado. http://web.archive.org/web/20110414102634/http://snowcore.net/magento-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0 % BC% D0% BC% D0% BD% D0% B0% D1% 8F-% D0% B0% D0% BA% D1% 82% D0% B8% D0% B2% D0% B0% D1% 86% D0% B8% D1% 8F-% D0% B7% D0% B0% D0% BA% D0% B0% D0% B7% D0% B0. Usa google chrome para obtener una traducción. – shaune