Marque um pedido Magento como completo programaticamente

Estou tentando marcar um pedido de "Processamento" como Concluído quando recebo uma resposta de um serviço de terceiros. Eu tenho tudo configurado para isso, mas o único problema é que os pedidos permanecem no estado Processament

Estou gerando uma fatura (acho que não preciso disso, pois cada item está marcado como "faturado" no back-end do Magento) e uma remessa como esta:

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

Isso parece não estar fazendo isso - eu não recebo erros de volta deste código, mas o pedido permanece como processamento. No back-end, ainda vejo o botão "Enviar" na parte superior do pedido e cada item está no estado "faturado".

Quaisquer dicas seriam extremamente apreciadas

questionAnswers(12)

yourAnswerToTheQuestion