Übetragung der Tracking Nummern durch das PayPal Plugin

Hallo zusammen,

in den neueren Versionen kann das PayPal Plugin bekanntlich die Tracking Nummern automatisch zu PayPal übermitteln. Meine Frage ist, zu welchem Zeitpunkt das passiert? Unsere Tracking Nummern werden von unserem ERP System zu einem fixen Zeitpunkt per API übertragen. Bei diesem Vorgang wird die Übermittlung vom Plugin aber nicht getriggered. Gibt es vllt. eine Möglichkeit den Vorgang per Cronjob o.ä. manuell zu starten?

Moin,

einen CronJob dafür haben wir nicht. Den müsstest du dir selbst anlegen.

Das ganze passiert in: Subscriber/Carrier.php

VG

Dennis Garding

Ok, danke.

Wann wird die Trackingnummer denn bei „normalem“ Vorgehen übertragen? Wenn man die Bestellung - nach Eintragung der Tracking Nummer - speichert?

Das sind die Events:

‚Shopware\Models\Order\Order::postUpdate‘ => ‚syncCarrier‘,
‚Shopware\Models\Order\Order::postPersist‘ => ‚syncCarrier‘,

Also nach dem Speichern und nach dem Updaten einer Order.

Im Prinzip muss ich ja „nur“ erreichen, dass der CronJob die Funktion „syncCarrier“ auslöst, oder? Gibt es hierfür eine elegante Lösung, ohne im Plugin Code selbst Anpassungen vorzunehmen? Habe noch nie mit Cronjobs gearbeitet, bzw. einen neuen angelegt.

Schau mal hier:

und hier:

Im Prinzip musst du ein Plugin schreiben das den CronJob bereit hält und den Code ausführt.

Das Plugin schreiben um einen CronJob auszuführen sollte kein Problem sein, ich werde aber nicht so ganz schlau daraus, wie ich jetzt in dem neuen Plugin die Carrier.php ansteuere bzw. die „syncCarrier“ Funktion auslöse. In dem Beispiel wird das ursprüngliche Plugin komplett erweitert mit neuen Funktionen. Ich möchte ja im Prinzip nur, dass eine bestimmte Funktion des Ursprungsplugins ausgeführt wird, also keine Erweiterung in dem Sinne. Gibt es hierfür auch ein Beispiel o.ä.? Oder übersehe ich was?

Theoretisch kannst du den Subscriber über den Container holen und die Public Methode ausführen. Das ganze hab ich aber noch nicht ausprobiert. Im Zweifel müsstest du den code kopieren, auch wenns nicht schön ist.