Was ist das richtige Magento-Beobachterereignis, um die bezahlte Bestellung zu erfassen?
-
26-12-2019 - |
Frage
Ich versuche, Bestellungen an einen Dritten zu senden, nachdem und ERST nachdem eine Bestellung bezahlt wurde und jetzt als Status auf 'In Bearbeitung' gesetzt wurde.Was ist der beste Beobachter, um dies so einzurichten, dass es für alle Zahlungsarten funktioniert?
Nach dem Lesen mehrerer Quellen scheint es so:
sales_order_invoice_pay
Sollte für alle Zahlungsmethoden funktionieren, aber es scheint, als ob es auf Magento 1.9 entfernt wurde: http://rabee.me/codes/magento/cheatsheet/1.9/ (Diese Liste ist unvollständig, bitte überprüfen Sie die Updates unten )
Die andere Option war:
'sales_order_payment_pay'
Aber wenn ich es teste und die Zahlungsmethode auf "Scheck / Zahlungsanweisung" setze, wird es NICHT ausgelöst, nachdem ich die Rechnung im Backend mit Bestellung> Rechnung> Rechnung senden generiert habe
Wird diese Methode nur mit den anderen Zahlungsmethoden aufgerufen?(paypal /autorisieren.net)
UPDATE:
Nach dem Lesen:diese andere Frage scheint die einzige Möglichkeit zu sein, um sicherzustellen, dass ich die Bestellung exportiere, NACHDEM eine Zahlung (online oder offline) getätigt wurde, darin zu bestehen, zu erfassen, wann eine Rechnung erstellt wird, und dass für Magento 1.9 der richtige Beobachter ist:
sales_order_invoice_register
Werden Rechnungen automatisch erstellt und nach Zahlung über Online-Methoden paypal /authorize.net gesendet?Wird dies immer noch zutreffen, wenn Sie sie im Sandbox- / Testmodus verwenden?
AKTUALISIERUNG 2:
Nach vielen Tests scheint es das zu sein 'sales_order_invoice_pay'
ist die richtige Methode, um das zu erreichen, was ich brauchte.
Lösung
Was ist mit checkout_onepage_controller_success_action
.Dies kann verwendet werden, wenn Ihre Bestellung erfolgreich bezahlt wurde.Es gibt ein anderes Ereignis sales_order_payment_capture
.Es kann auch in Ihrem Fall verwendet werden.Ich habe es vorher nicht benutzt.
Überprüfen Sie dies VERKNÜPFEN
BEARBEITEN
Laut Diskussion scheint es das zu sein sales_order_invoice_pay
ist der perfekte Beobachter für die Erfassung bezahlter Bestellungen und dieses Ereignis ist in Magento 1.9 weiterhin verfügbar.(nicht veraltet)
Für weitere Informationen schauen Sie sich dies an Verknüpfen