Projekt

Allgemein

Aktionen

GX-Bug #49759

geschlossen

Die Ermittlung von Preisen auf checkout_payment ist unter Umständen falsch

Von Marco Bruchmann vor mehr als 8 Jahren hinzugefügt. Vor mehr als 3 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
Daniel Würdemann
Kategorie:
Checkout
Zielversion:
% erledigt:

100%

Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
3.2.2.0, 3.3.2.0
Release Notes Langtext:

DIe Ermittlung von Preisen im Checkout wurde für Nicht-EU-Kunden korrigiert

Tags:

Beschreibung

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'] (und unter Umständen auch $_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'] und $_SESSION['billto'] gesetzt sind. Damit verwendet die globale xtcPrice-Instanz ($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().

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.


Checkliste 0/0

Aktionen #2

Von Marco Bruchmann vor mehr als 8 Jahren aktualisiert

Der Fix ist noch nicht ausreichend, der DataCache in xtcPrice spielt offenbar auch noch eine Rolle.

Aktionen