CheckoutConfirmPageLoadedEvent - Produkt automatisch hinzufügen - Wie wieder aus Warenkorb entfernen?

Hallo,

im Event CheckoutConfirmPageLoadedEvent füge ich per https://developer.shopware.com/docs/guides/plugins/plugins/checkout/cart/add-cart-items.html automatisch einen Artikel zum Warenkorb.

Dazu hole ich mir zuerst alle Produkte im Warenkorb und wenn die $productId des entsprechenden Artikels noch nicht im Warenkorb liegt, füge ich sie hinzu:

    foreach ($cart->getLineItems() as $item) {
        if ($item->getReferencedId() === $productId) {
            $isInCart = 1;
            break;
        }
    }
    if ($isInCart === 0) {
        $this->createAndAddLineItem($context, $cart);
    }

Nun ist das Problem, dass beim Entfernen des automatisch hinzugefügten Artikels auf der Checkout-Seite, diese neu geladen und das Event wieder getriggert wird. Dadurch wird der Artikel sofort wieder zum Warenkorb hinzugefügt.

Wie könnte ich es umsetzen, dass ein Benutzer den Artikel im Checkout entfernen kann?
Danke

So auf die schnelle würde ich der Cart ne Extension zuweisen welche prüft ob dieser Artikel bereits vom code her hinzugefügt wurde. Beim produkt hinzufügen Extension dementsprechend abfragen und hinzufügen.

$cart = $event->getCart();
$cart->addExtension();

Danke schon mal. Könntest du das noch mal etwas weiter ausführen? Speziell das mit der Extension verstehe ich leider nicht so genau.

Keiner mehr eine Idee? Ich komme da nicht weiter.