Projekt

Allgemein

Profil

GX-Bug #49759

Von Marco Bruchmann vor mehr als 7 Jahren aktualisiert

Auf checkout_payment kann es unter gewissen, relativ exotischen Bedingungen dazu kommen, dass Preise falsch ermittelt werden. Ein Beispiel: 
 Kunde aus der Schweiz (Standardadresse in Nicht-EU-Land) bestellt in einem deutschen Shop (EU-Land) mit Lieferadresse in Deutschland. Das ist eigentlich eine gewöhnliche Brutto-Bestellung und wird vom Shopsystem auch korrekt als solche erfasst. Die Artikelpreise werden jedoch fälschlicherweise netto z.B. an PayPal übermittelt. 

 Problem: `$_SESSION['billto']` $_SESSION['billto'] (und unter Umständen auch `$_SESSION['sendto']`) $_SESSION['sendto']) wird erst vom CheckoutPaymentContentControl gesetzt, und somit nach der Instanziierung der xtcPrice in application_top.php. Der Konstruktor von xtcPrice ermittelt jedoch die verwendeten Steuersätze anders, wenn `$_SESSION['sendto']` $_SESSION['sendto'] *und* `$_SESSION['billto']` $_SESSION['billto'] gesetzt sind. Damit verwendet die globale xtcPrice-Instanz (`$GLOBALS['xtPrice']`) ($GLOBALS['xtPrice']) im weiteren Verlauf von checkout_payment falsche Steuersätze. Das betrifft z.B. die Verarbeitung der Zahlungs- und Zusammenfassungsmodule und vor allem die Preisermittlung von `$_SESSION['cart']->get_products()`. $_SESSION['cart']->get_products(). 

 MR mit möglichem Fix: 
 https://sources.gambio-server.net/gambio/gxdev/merge_requests/442 

 Bei dem Fix ist zu beachten, dass das Problem vermutlich schon sehr lange existiert (mindestens seit GX1 v1.0.11, wahrscheinlich länger), es könnte daher Seiteneffekte des Fixes geben. 

Zurück