J'utilise Magento 1.6.2.
Je dois déterminer si une commande est payée. Si oui, je génère des données XML pour l'exportation. Il existe de nombreux cas dans le workflow de commande / paiement / expédition de Magento.
Ma première supposition est quand l'attribut "état" de la commande est défini comme "traitement", mais je ne suis pas sûr en raison de la grande quantité de possibilités dans ce flux de travail. Peut-être que ce cas ne couvre pas toutes les possibilités ...
Suis-je d'accord avec ça?
orders
payment
ce-1.6.2.0
state
guillaume_shm
la source
la source
Réponses:
Vous pouvez appeler
$order->getBaseTotalDue()
. Si c'est 0, la commande est entièrement payée.la source
Voir la réponse d'Andreas sur la façon de déterminer s'il reste quelque chose à payer. Pour répondre à votre autre question - l'utilisation du traitement state == n'est pas suffisante. Un test rapide pour le prouver consiste à expédier une commande non payée - cela fera également passer une commande à l'état de traitement même si la commande n'est toujours pas payée.
la source