Отметить заказ Magento как завершенный программно

Я пытаюсь пометить заказ «Обработка» как выполненный, когда получаю определенный ответ от стороннего сервиса. У меня все для этого настроено, но единственная проблема в том, что заказы остаются в состоянии Обработка.

Я генерирую счет-фактуру (хотя я не думаю, что мне это нужно, поскольку каждый элемент помечен как «выставлен счет» в бэкэнде Magento) и отправка выглядит так:

$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();

Это, кажется, не делает этого, хотя - я не получаю ошибок от этого кода, но заказ остается в обработке. В бэкэнде я все еще вижу кнопку «Отправить» в верхней части заказа, и каждый элемент находится в состоянии «выставлено».

Любые советы будут с благодарностью.

Ответы на вопрос(6)

Ваш ответ на вопрос