Ich verwende Magento 1.6.2.
Ich muss feststellen, ob eine Bestellung bezahlt wird. Wenn ja, generiere ich einige XML-Daten für den Export. Es gibt viele Fälle im Magento-Workflow für Bestellung / Zahlung / Versand.
Meine erste Vermutung ist, wenn das Attribut "Status" der Bestellung als "Verarbeitung" definiert ist, aber ich bin mir wegen der großen Anzahl von Möglichkeiten in diesem Workflow nicht sicher. Möglicherweise deckt dieser Fall nicht alle Möglichkeiten ab ...
Habe ich damit recht?
orders
payment
ce-1.6.2.0
state
guillaume_shm
quelle
quelle
Antworten:
Sie können anrufen
$order->getBaseTotalDue()
. Wenn dies 0 ist, ist die Bestellung vollständig bezahlt.quelle
Siehe Andreas Antwort, um festzustellen, ob noch etwas zu bezahlen ist. Um Ihre andere Frage zu beantworten, ist die Verwendung von state == process nicht gut genug. Ein schneller Test, um dies zu zeigen, besteht darin, eine unbezahlte Bestellung zu versenden. Dadurch wird eine Bestellung auch in den Verarbeitungsstatus versetzt, obwohl die Bestellung noch nicht bezahlt ist.
quelle