Não é permitido definir manualmente o estado do pedido como 'concluído' e você deve receber essa exceção ao chamar setState
o pedido com o estado 'concluído':
O estado do pedido "concluído" não deve ser definido manualmente.
A razão para isso é simples: o estado 'completo' (e o status, já que é o único estado com o status 'completo') pretende indicar que um pedido foi completamente preenchido. Ou seja, foi colocado, faturado e enviado ao cliente.
Depois que o pedido for faturado e enviado, o Magento definirá esse estado no pedido automaticamente.
Se o seu sistema de pagamento "não permitir" o status 'completo', não confiaria nele, especialmente com a codificação do ionCube. Se, no entanto, é porque está lidando com o faturamento fora do Magento, você precisará gerar manualmente uma fatura "Off-line" para o pedido, para que o Magento reconheça que foi pago.
Não tente se enganar, contornando o problema de os pedidos não atingirem o estado concluído, como normalmente deveriam. Em vez disso, corrija o problema real, certificando-se de que os pedidos sejam faturados e enviados no Magento para que sejam marcados como concluídos pelo sistema.