CheckoutOrderPlacedEvent Subscriber funktioniert nicht

Guten Tag,

ich möchte gerne eine Bestellung „abfangen“, nachdem sie erstellt wurde, also quasi, wenn der Kunde auf „zahlungspflichtig bestellen“ klickt.

Dazu habe ich einen Subscriber angelegt, der das CheckoutOrderPlacedEvent abfangen soll. Wie folgt:

class OrderSubscriber implements EventSubscriberInterface 

{

    public static function getSubscribedEvents(): array

    {
        return [
            CheckoutOrderPlacedEvent::class => 'onCheckoutOrderPlaced',
        ];

    }

    public function onCheckoutOrderPlaced(CheckoutOrderPlacedEvent $event): void
    {
       //...
    }
}

In meiner services.xml sieht es so aus aus:

<service id="XXX\XXX\Subscriber\OrderSubscriber">
            <tag name="kernel.event_subscriber"/>
</service>

Hat jemand eine Idee, was ich falsch mache? Im Symfony Profiler taucht mein listener immer nur unter „not called listeners“ auf. Vielen Dank schon einmal!

Keiner eine Idee? Ich komme hier leider nicht weiter…

Sieht richtig aus, daher:

  • Plugin aktiv?
  • Cache geleert?

Ansonsten gibt es Beispiele, die dein Event nutzen: platform/PromotionRedemptionUpdater.php at 55412aa0a92cc3d8266a4b62485b4dd8de14136b · shopware/platform · GitHub

Hi @TeichDatensysteme
danke für die Antwort. Cache ist geleert und das Plugin ist aktiv.

Der Subscriber „hört“ neben dem CheckoutOrderPlacedEvent nämlich auch noch auf das OrderEvents::ORDER_WRITTEN_EVENT … das geht komischerweise.

Ich schaue mir dein Beispiel mal an, vielen Dank. Ich kann es mir auch nicht so wirklich erklären.