verschiedene Preise / Kundengruppen funktioniert nicht für eingeloggte Kunden

Hallo zusammen,

Da ich für ein Sprachshop verschiedene Artikel Preise haben möchte, habe ich versucht mit Kundengruppen hinzubekommen. Shopware 5.5.10

  1. Hauptshop - DE - NameBright - Coming Soon mit Kundengruppe EK
  2. Sprachshop - CH - NameBright - Coming Soon mit Kundengruppe EKCH

Dann habe ich z.B bei der Artikel1 -> Preise: EK: 150€ und EKCH 200 CHF

Es funktioniert schon in Ordnung wenn der Kunde nicht eingeloggt ist, aber wenn einer sich in der DE Shop registriert hat er ist automatisch ein EK Kunde und wenn er dann zum CH Shop wechselt und dort sich meldet an ist er immer noch EK und automatisch sieht er den Preis 150 CHF anstatt 200 CHF

Habe ich selber versucht hinzubekommen und habe folgendes geschrieben:

  public static function getSubscribedEvents()
  {
    return [
      'Enlight_Controller_Action_PreDispatch_Frontend' => 'onFrontendPreDispatch'
    ];
  }
  
  public function onFrontendPreDispatch(\Enlight_Event_EventArgs $args){
    
    $controller = $args->getSubject();
    $view = $controller->View();
    
    $shop = Shopware()->Shop();
    $session = Shopware()->Session();
    $system = Shopware()->System();
    
    $shopID = $shop->getId();
    $sessionID = $session->get('sessionId');
    
    $customerGroupID = Shopware()->Db()->fetchOne('SELECT customer_group_id FROM s_core_shops WHERE id = ?', [$shopID]);
    $sUserGroup = Shopware()->Db()->fetchOne('SELECT groupkey FROM s_core_customergroups WHERE id = ?', [$customerGroupID]);
    $sUserGroupData = Shopware()->Db()->fetchAll('SELECT * FROM s_core_customergroups WHERE id = ?', [$customerGroupID]);

    $session->sUserGroup = $sUserGroup;
    $session->sUserGroupData = $sUserGroupData;
    
    $system->sUSERGROUP = $sUserGroup;
    $system->sUSERGROUPDATA = $sUserGroupData;

    if($sessionID) {

      Shopware()->Db()->executeUpdate('UPDATE s_user set customergroup = ? where sessionID = ?', [$sUserGroup, $sessionID]);

    }

  }

also meine Idee war den Session und System Variablen (sUserGroup und sUserGroupData) zu aktualisieren je nach Shop. Den „customergroup“ in DB auch. Scheinbar es funktioniert schon ok, außer auf der checkout Übersicht Seite. Wenn man dort die Sprache wechselt sieht man die Preise von vorherige Shop, beim Seite Refresh sieht man dann den richtigen Preis

Fragen: ist das eine gute Lösung? spricht etwas dagegen die UserGroup und sUserGroupData zu aktualisieren je nach Shop? Wird das mit http Cache problematisch sein? Gibt es eine Lösung für die checkout/confirm Seite?

LG

Kein Tipp?