Warenkorb wird nicht korrekt an Bestellung übergeben

Hallo zusammen,

ich habe ein Plugin geschrieben, welches eine erweiterte Berechnung der Versandkosten vornimmt. So weit, so gut. Das funktioniert auch im Warenkorb. Sobald ich aber auf den Button „Zahlungspflichtig bestellen“ im Bereich Kasse klicke, gelange ich zur Bestellübersicht und dort werden gar keine Versandkosten angezeigt. So auch in den E-Mails nicht.
Das bedeutet ja, dass die Bestellung (Order) nicht korrekt aus dem Warenkorb (Cart) übernommen wird.
Ich müsste mich also in das Event einhooken, dass beim klick auf „Zahlungspflichtig bestellen“ gefeuert wird und dort eine korrekte Übergabe der Warenkorb-Daten an das Order-Objekt gewährleisten. Nur welches Event wird dort gefeuert?

Über Tipps oder andere Lösungsvorschläge bin ich vorab dankbar!

Frage: Schreibt Dein Plugin die „erweiterten Versandkosten“ wieder zurück in die DB? Oder arbeitet Dein Plugin „nur“ im Storefront? Schau Dir doch mal nach dem klick auf „Zahlungspflichtig bestellen“ die Daten in der DB an. Alles vorhanden wie erwartet?

Also nach der Berechnung der Versandkosten aktualisiere ich meinen Warenkorb wie folgt:

        $priceToSet = new CartPrice($newPriceToSet, $newPriceToSet, $newNetPriceToSet, new CalculatedTaxCollection(), new TaxRuleCollection([new TaxRule(19)]), CartPrice::TAX_STATE_FREE);
        $cart->setPrice($priceToSet);

        $freightPrice = new CalculatedPrice($newfreightCosts, $newfreightCosts, new CalculatedTaxCollection(), new TaxRuleCollection([new TaxRule(19)]));
        $deliveries = $cart->getDeliveries();

        $newDeliveries = [];
        foreach ($deliveries as $delivery) {
            $newDeliveries[] = $delivery->setShippingCosts($freightPrice);
        }
        $cart->setDeliveries($deliveries);

Das funktioniert auch so weit. Jedoch wenn ich die Bestellung abschicke, werden bereits falsche Zahlen in die Datenbank geschrieben.
Ich muss irgendwas nicht bedacht haben…

Da ich Dein Plugin nicht kenne folgende Vermutung. Du änderst die Daten nur für die Anzeige im Storefront. Deine Daten finden nie den Weg in die DB. Welches Event triggerst Du denn zum Anpassen der Versandkosten. Für „Learning by Doing“ → vergleich doch mal Deinen Betsellprozess (gehe Schritt für Schritt durch) und sieh die die DB-> Tabelle „cart“ → Spalte „cart“ an. Wann werden Daten geschrieben. Ich vermute, dass Du entweder das zu schreibende Datenobject nicht richtig manipulierst, oder ein weiteres Event triggern musst um die Manipulation zu wiederholen.