Woher wissen, ob eine Bestellung bezahlt wird? Wann ist "Zustand" "Verarbeitung"?


8

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?


Überprüfen Sie, ob für die Bestellung eine Rechnung erstellt wurde.
Marius

Nur Rechnung? Keine anderen Sachen? Ich bin überrascht, es scheint zu einfach, wirklich Aha zu sein. Danke für deine Hilfe!
guillaume_shm

Normalerweise bedeutet das Vorhandensein einer Rechnung, dass sie bezahlt wurde.
Marius

Das reicht nicht in allen Fällen aus, da eine Rechnung unbezahlt sein kann. Und es ist möglich, dass eine Rechnung nicht alle bestellten Artikel abdeckt, sodass möglicherweise mehr als eine Rechnung vorhanden ist.
Andreas von Studnitz

Das Überprüfen des Status kann abhängig von Ihrem Workflow erfolgen. Der Status "Verarbeitung" kann jedoch auch bedeuten, dass die Bestellung gesendet, aber noch nicht bezahlt wurde. Das würde ich nicht benutzen.
Andreas von Studnitz

Antworten:


22

Sie können anrufen $order->getBaseTotalDue(). Wenn dies 0 ist, ist die Bestellung vollständig bezahlt.


Danke Andreas, diese Antwort scheint diejenige zu sein, die am besten zu meiner Antwort passt.
guillaume_shm

1

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.