Automatische Stornierung nach 14 Tagen (Vorkasse)

Hallihallo, Wie der Titel schon sagt, versuche ich einen Weg zu finden, wie ich bei einer ausgelassenen Zahlung seitens des Kundens die Bestellung automatisch stornieren zu lassen. Betrifft also nur Vorkasse. Ich gehe davon aus, dass ich das selbst dazu programmieren muss - falls das nicht der Fall ist, freue ich mich natürlich über einen entsprechenden Hinweis. Meine Ideen dazu gehen in die Richtung, dass man den Cronjob nutzt, um offene Zahlungen zu checken und überfällige Bestellungen über die API storniert. Die Shopware-Architektur ist mir leider noch sehr neu und ich würde mich sehr über ANSÄTZE freuen und meine Ergebnisse gerne auch hier wieder teilen. Bevor ich jetzt einfach drauf losfrickle, hier ein par - hoffentlich sinnvolle - Einzelfragen: 1.) Wie kann ich mich überhaupt an den Cronjob dranhängen, sodass ich intervallgesteuert Funktionen aufrufen kann? Mein Plan: - Würde die Cronjob-Steuerung aus dem backend verwenden (gemäß http://wiki.shopware.de/Cronjobs_detail_1102.html) und dort eine eigene Aktion starten. Sagen wir “cronjob_test” - Habe mir das Plugin-Boostrap-Beispiel aus dem Wiki gezogen und dort würde ich dann in der install-Funktion folgendes dranhängen: $this->subscribeEvent(‘cronjob_test’, ‘offene_bestellungen_checken’); - Eine Funktion im Plugin anlegen namens “offene_bestellungen_checken”, die sich um die eigentliche Logik kümmert. -> Habe ich hiermit alles, damit ich mich an den Cronjob drangehängt habe? Klappt das so? 2.) Die eigentliche Programm-Logik: Wenn ich nun mit den Bestellungen hantieren will, ist das hier der richtige Start, ja? http://wiki.shopware.de/Shopware-4-Loka … 2_869.html Oder übersehe ich grad einen viel einfacheren Weg mit den Bestellungen und Artikeln zu kommunizieren. Vielen Dank! Schönen Gruß, Axel

Moin, die Antwort würde mich auch mal interessieren. Ich nutze das Plugin zur Zahlungserinnerung bei nicht bezahlten Vorkassebestellungen. Dort habe ich auch mal angefragt, ob die so etwas nicht einfach integrieren wollen. http://store.shopware.de/bezahlung-paym … erinnerung Gruß, Benjamin

Da jetzt hier die Beteiligung nicht so besonders groß war, poste ich trotzdem mal konsequenterweise meine Zwischenstände, vielleicht hat ja jemand Lust mit “einzusteigen” oder es hilft jemandem. Punkt 1 habe ich gelöst: Wie hänge ich mich an den Cronjob dran? ->Einfach eine beliebige der Beispiel-Plugin-Bootstraps ziehen und in die install()-Funktion folgenden Code anhängen: $this-\>subscribeEvent( 'Shopware\_CronJob\_VorkasseWorkflow', 'VorkasseErinnerung' ); //Cronjobname, Controllername, Interval, [aktiv] $this-\>createCronJob("Vorkassen-Workflow", "VorkasseWorkflow", 240); Danach einfach noch in der Plugin-Klasse eine Funktion namens “VorkasseErinnerung” anlegen: public function VorkasseErinnerung(Shopware_Components_Cron_CronJob $job){…} Im Backend unter Einstellungen->Grundeinstellungen->Cronjobs sollte nun der Cronjob auftauchen. Man muss diesen dort evtl. noch aktivieren. FERTIG! Punkt 2 habe ich bisher nur Ansätze - hier das schrittweise Vorgehen: A) $articleResource bzw. $orderResource als protected der Plugin-Klasse anhängen (bietet später Zugriff auf die Articles und Orders) B) Initilisierung der Resource vorbereiten: in der isntall()-Funktion folgendes anhängen: $this-\>initArticleResource(); C) Initialisierung der Resource: public function initArticleResource() { $this-\>articleResource = \Shopware\Components\Api\Manager::getResource('Article'); $this-\>orderResource = \Shopware\Components\Api\Manager::getResource('Order'); } D) Zugriff auf die Bestellungen über die resource, z.B.: $filters = array( 'name' =\> 'Schmuckbaum' ); $articles = $this-\>orderResource-\>getList(0, 25, $filters); Vielleicht hilft es ja jemandem und/oder jemand möchte mir helfen, das Ding weiterzustricken. Mit Beispiel 8 ist der Weg zu einem eigenen Plugin, was die Vorkassen-Erinnerung ermöglicht jedenfalls nicht mehr weit. Stornierung sollte dann auch kein Problem mehr sein. Schönen Gruß, Axel