Value is not a valid UUID

Hallo zusammen,

ich habe seit einiger Zeit das Problem, dass wenn ich einen Rabattcode anlege und damit ein Produkt gekauft wird, dass der Kauf nicht abgeschlossen wird. Dieser wird mit einem Fehler abgebrochen.

In den Logs findet sich daraufhin folgender Eintrag:
Uncaught PHP Exception Shopware\Core\Framework\Uuid\Exception\InvalidUuidException: „Value is not a valid UUID: TESTTEST“ at /var/www/clients/client8357/web15586/web/vendor/shopware/core/Framework/Uuid/Uuid.php line 92 {„exception“:„[object] (Shopware\Core\Framework\Uuid\Exception\InvalidUuidException(code: 0): Value is not a valid UUID: TESTTEST at /var/www/clients/client8357/web15586/web/vendor/shopware/core/Framework/Uuid/Uuid.php:92)“}

Der Rabattcode wurde hier einfach fest auf TESTTEST gesetzt (andere Codes wurden auch getestet).
Aktuell können Kunden keine Rabattcodes nutzen.

Bitte um Hilfe. Im Internet und im Forum konnte ich leider nichts finden.

Freundliche Grüße
STS STRA-TECH SOLUTIONS UG

Anstatt des UUID des Codes wird hier anscheinend der Code des Rabattcodes genutzt. Recht unwahrscheinlich, dass das Shopware Standard ist. Irgendwelche Plugins, die in diese Richtung etwas im Shop ändern?

Vielen Dank für die Rückmeldung. Tatsächlich habe ich das Plugin gefunden, dass, warum auch immer für diesen Fehler gesorgt hat.

Dabei handelt es sich um ein Plugin, dass die Artikelbeschreibung mit in die Rechnung übernimmt.
Der Hauptteil dieses Plugins ist folgender Ausschnitt:

public function onLineItemLoaded(EntityLoadedEvent $event): void
    {
        $lineItems = $event->getEntities();
        foreach ($lineItems as $lineItem) {
            /* @var $lineItem OrderLineItemEntity */
            $product = $this->productRepository->search(new Criteria([$lineItem->getReferencedId()]), $event->getContext())->first();
            $payload = $lineItem->getPayload();
            $description = "";
            if(!is_null($product->description)){
                $description = $this->trimTags($product->description);
                $description = $this->truncate($description, 100);
            }
            $payload['description'] = $description;
            $lineItem->setPayloadValue('description', $payload['description']);
        }
    }

Vielleicht erkennst du das Problem. Die letzte Zeile könnte es sein, aber ich wüsste nicht wieso.

Einfach auf gut Glück geraten würde ich sagen, dass dieser Block erwartet, dass jedes LineItem ein Produkt ist. Da es beim Gutschein aber nicht zutrifft, knallt es.

Da müsste dann nach dem foreach ein if rein, und das beim typ voucher oder wie auch der immer genannt ist ein continue hingehört.

Wie gesagt, völlig ins Blaue geraten.

Danke dir. Ich schaue mal nach, wenn ich was finde, würde ich das hier nochmal posten.