Estou executando o Magento 1.6.2.
Preciso determinar se um pedido é pago. Se sim, eu gero alguns dados XML para exportação. Existem muitos casos no fluxo de trabalho de pedidos / pagamentos / remessas do Magento.
Meu primeiro palpite é quando o atributo "state" do pedido é definido como "processing", mas não tenho certeza por causa da grande quantidade de possibilidades nesse fluxo de trabalho. Pode ser que este caso não esteja cobrindo todas as possibilidades ...
Estou certo com isso?
orders
payment
ce-1.6.2.0
state
guillaume_shm
fonte
fonte
Respostas:
Você pode ligar
$order->getBaseTotalDue()
. Se for 0, o pedido será totalmente pago.fonte
Veja a resposta de Andreas sobre como determinar se há algo a pagar. Para responder sua outra pergunta - o uso do processamento state == não é bom o suficiente. Um teste rápido para mostrar isso é enviar um pedido não pago - isso também moverá um pedido para o estado de processamento, mesmo que o pedido ainda não tenha sido pago.
fonte