Como saber se um pedido é pago? Quando "estado" está "processando"?


8

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?


Verifique se há uma fatura gerada para o pedido.
Marius

Apenas faturar? Nenhuma outra coisa? Estou surpresa, parece fácil demais ser real aha. Obrigado pela ajuda!
precisa

Geralmente, a presença de uma fatura significa que ela foi paga.
Marius

Isso não é suficiente em todos os casos, pois uma fatura pode não ser paga. E é possível que uma fatura não cubra todos os itens solicitados; portanto, pode haver mais de uma fatura.
Andreas von Studnitz

A verificação do estado pode funcionar dependendo do seu fluxo de trabalho, mas o estado "processamento" também pode significar que o pedido foi enviado, mas ainda não foi pago. Eu não usaria isso.
Andreas von Studnitz

Respostas:


22

Você pode ligar $order->getBaseTotalDue() . Se for 0, o pedido será totalmente pago.


Obrigado Andreas, esta resposta parece ser a que mais se encaixa na minha resposta.
precisa

1

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.