Rechnungsadresse im Checkout-Prozess auslesen, Shopware 5.2

Hallo

Ich muss während des ganzen Checkout-Prozesses an mehreren Stellen die Rechnungsadresse des Kunden Auslesen. Vor 5.2 klappte das hervorragend folgendermassen:

$userId = Shopware()->Session()->sUserId;
$customer = Shopware()->Models()->find('Shopware\Models\Customer\Customer', $userId);
$billing = $candidate->getBilling();

In 5.2 gibt das neuerdings stets die Standard-Rechnungsadresse des Kunden zurück, was natürlich ein Problem ist, falls der Kunde für die aktuell behandelte Bestellung eine andere Adresse gewählt hat. Meine momentane Lösung ist:

$billingId = Shopware()->Session()->offsetGet('checkoutBillingAddressId');
if (!$billingId) {
    $billingId = Shopware()->Modules()->Admin()->sGetUserData()['billingaddress']['id'];
}
$billing = Shopware()->Models()->find('Shopware\Models\Customer\Address', $billingId);

Shopware()->Modules()->Admin()->sGetUserData()[‚billingaddress‘] wäre ja schön und gut, klappt aber nur bis zu dem Punkt, an dem die Bestellung abgesendet wird. Sobald man nämlich auf ‚Bestellung absenden‘ klickt , gibt das wieder die Standardrechungsadresse zurück, und nicht die ausgewählte. (der kritische Punkt ist bei /engine/Shopware/Core/sAdmin.php:1518). Vielleicht liegt es daran, dass ich mich zu dem Zeitpunkt in meinem eigenen Payment-Controller befinde…

Als Alternative gibts nun die Sessionvariable ‚checkoutBillingAddressId‘, die jedoch erst irgendwann im checkout/finish oder so gesetzt wird, also auf jeden Fall erst nachdem man auf ‚Bestellung absenden‘ geklickt hat.

Kann mir jemand sagen, was hier die as-intended-Vorgehensweise für mein Problem ist? Kann mir nämlich nicht vorstellen, dass meine Lösung die korrekte ist.

Grüsse Sam

Bump! Irgend ein Entwickler da, der Bescheid weiss?