Bug: Datenbankbug bei Mehrfachbestellungen ohne Registrierung

Hallo
ich glaube ich habe gerade einen Bug gefunden und würde euch bitten dies zu prüfen, bevor ich ihn in den Bugtracker eintrage.

Folgendes ist passiert:
Kunde bestellt das erste mal ohne Registrierung. Eine Stunde später bestellt er ein zweites mal ohne Kundenkonto. Soweit ist erstmal alles ok, Daten im Admin sind da.

Nun bezahlt der Kunde, man pflegt im Admin die Zahlung ein, drückt auf speicher, und alle Adressdaten verschwinden bei der ersten Bestellung des Kunden.

PROBLEM: Soweit ich das nachvollziehen kann wird bei einer Bestellung ohne Kundenkonto ein neuer Benutzer (oxuser) generiert. Dieser Benutzer erhält anhand seiner E-Mailadresse (Primärkey) bei JEDER neuen Bestellung eine neue oxuser.OXID . Der bestehende Benutzer wird quasi aktualisiert und erhält bei jeder bestellung eine neue oxuser.OXID!!. Dies ist dann nur mit der letzten Bestellung (oxorder.OXUSERID) verknüpft.
Bei der zweiten Bestellung eines Kunden ohne Kundenkontos gibt es aber die oxorder.OXUSERID der ersten Bestellung nicht mehr in der oxuser.OXID. Die oxuser.OXID wurde durch die neue Bestellung überschrieben.
Drückt man nun bei der ersten Bestellung auf speichern unter Bestellungen–>Stamm greift der Shop auf die Bestellung (oxorder) zu und schaut welche oxuser.OXID damit verknüpft ist. Es wird keine gefunden (diese wurde ja durch die zweite Bestellung überschrieben) Dadurch wird der Eintrag in der "oxorder.OXUSER gelöscht und die Kundendaten verschwinden. Siehe Bild im Anhang.

Eine Reparatur ist nur über ein erneutes eintragen der dann aktuellen oxuser.OXID in die oxorder.userid möglich. (Hält aber auch nur bis zur nächsten Bestellung des Kunden oder solange man nichts mehr an der Bestellung ändert)

Das Verhalten lässt sich im Demoshop nachvollziehen!
Kann man verstehen was gemeint ist ?

CYA

Kann ich bestätigen, genau das gleiche Problem ist bei uns auch schon mehrfach aufgetreten!

Hab gerade einen Bug eintragen wollen und dann diesen abgelehnten Eintrag gefunden:
https://bugs.oxid-esales.com/view.php?id=1441

Hi, Danke

auch wenn ich mit der aktuellen Lösung des BUGs irgendwie überhaupt nicht zufrieden bin. :mad:

Wenn man auf die Mailingsliste schaut hat sich dort auch schon lange nichts mehr getan.

Leider wurde das Problem nur vor dem Hintergrund von fehlenden Historys diskutiert. Ich habe aber das Problem das man die (2te) [B]Bestellung gelöscht wird bevor !! man Sie ausgeliefert hat[/B].

Wenn nur ein neuer User bei der neuen Bestellung ohne Registrierung angelegt wird ist mir egal, aber in der OxOrders werden alle Adressdaten etc des Kunden gelöscht (und man kann sie nur über phpmyadmin mit den aktuellsten Daten (die nicht die Daten der gelöschten Bestellung sein müssen) wieder reparieren.) Und das passiert immer wenn man an der nicht-letzten Bestellung eine Änderung vornimmt, wie z.B. Kunde hat bezahlt.

Zu rechtlichen oder technischen Aspekten kann ich leider wenig sagen, nur das der BUG da ist und Probleme bereitet.

Auf die Dev-Mailingliste was zu schreiben ist mir auch zu blöd.
Kann man keinen geschlossenen BUG wieder öffnen bzw. ein Nachricht schreiben? Oder muss man einen neuen Bug melden und auf den verweigen?

also wenn ein kunde KEIN kundenkonto will, egal aus welchem grund, und dazu muß er ja gründe haben, wenn er mehrfach kauft ohne konto zu erstellen, dann darf sich keinesfalls was löschen.

bevor ich auf die ee4 umsteige möchte ich diesbezüglich auch klarheiten und werde wohl gleich mal in meiner testumgebung ausprobieren gehen.

bug kann bestätigt werden - ich maile es gerade anzido, da ich nix in bugtrack eintrag, des mir eh zu technisch und englisch

[QUOTE=laramarco;25399]also wenn ein kunde KEIN kundenkonto will, egal aus welchem grund, und dazu muß er ja gründe haben, wenn er mehrfach kauft ohne konto zu erstellen, dann darf sich keinesfalls was löschen.

bevor ich auf die ee4 umsteige möchte ich diesbezüglich auch klarheiten und werde wohl gleich mal in meiner testumgebung ausprobieren gehen.[/QUOTE]
xtCommerce löst das Problem wie folgt:

Es wird nur so lange ein Kundenstammsatz angelegt, wie die Bestellung noch nicht abgeschlossen ist…

Wenn die Bestellung fertig ist enthält sie, wie bei OXID, alle notwendigen Kundeninformationen für die Abwicklung, und der Kundenstammsatz wird gelöscht.

Scheint mir der richtige Ansatz zu sein, da der Gastbesteller ja gerade [B]nicht [/B]will, dass er permanent im Shop gespeichert ist.

Und das würde auch das hier diskutierte Problem lösen.

Das Löschen des Kundenstammsatzes nach der Bestellung sollte auch in OXID relativ einfach realisierbar sein, da die Bestellung, so weit ich sehen konnte, ja auch alle notwendigen Daten für die Abwicklung enthält…

also ich weiß nicht, ob ich das als Shopbetreiber für gut finden soll, wenn Daten “weg” sind, nur weil die Bestellung bereits bezahlt/versendet wurde

übrigens wären die Adressdaten auch dann schon weg, wenn man mit Paypal den Geldeingang als “bezahlt” markiert, das heißt in der Regel aber noch nicht, daß das Paket dann schon raus ist.

Punkt faktum, nur weil ein Kunde kein Passwort und Kundenkonto anlegen möchte, gibt das Oxid/dem Shop noch nicht das Recht Adressdaten, die eben zum Versenden von Waren nötig sind, zu löschen.

Rückwärtssprung, was wenn dieser Kunde die Ware zurück sendet, wie erstellst Du bitte dann Gutschriften.
Ok ich EE Nutzer hab Pixi als Wawi, mich juckt in dem Sinne da der Admin recht wenig, aber all diejenigen, die angeschlossene Systeme haben, z.b. meine Call-Center Damen, haben dann auch bei telefonischer Rückfragen nie Zugriff auf Bestellungen.

Also ich finds nach wie vor buggy.

Ich denke, Du musst sogar die Daten löschen!

Weil bei der Login-Anmeldung als Gast steht ja (und das ist der Sinn der Gastbestellung!):

Einkaufen ohne Registrierung

          (Ich möchte kein Kundenkonto anlegen.)

Sonst wird der Kunde ja getäuscht!

Und der Kontext der Bestellung ist ja in den Orderdaten enthalten.

Auszug aus Datenschutz

Martinas Bastel- & Hobbykiste speichert Ihre an uns übermittelten Daten nur zum Zwecke Ihrer Bestellungen und der Bestellabwicklung oder des Newsletterversandes. Eine Weitergabe an Dritte, außer an Partner im Zuge der Bestellabwicklung, lehnen wir ab!

ohne Adressdaten ist nun mal kein Versand möglich, daß der Kunde sich ohne Passwort nicht in einen internen Kundenbereich einloggen kann, ist doch dann wieder was anderes.
Daten zu löschen ist eben nicht drin, selbst auch aus steuerlichen Gründen, wie willst Du dem Fiskus bei einer Belegprüfung nachweisen, daß der Kunde bestellt hat.
Wie bei einer Inkasso-Sache, wo die Staatsanwaltschaft die Bestellhistorie haben will.
wie … die Liste ist lang …

Dann bleibt Dir nur, die Gastbestellung nicht zu erlauben…

Dann hast Du keine Probleme mehr damit.

peng und dann könnte kein einziger von uns Paypal via efire nutzen, weil dort ein Kundenkonto anlegen gar nicht möglich ist !!!

Wieso das?

Wenn Du die Gastbestellung nicht mehr erlaubst, dann wird in OXID ja ein Kundenkonto angelegt…

japp genau, und DAS geht nun mal nicht mit Paypal express nutz bitte dazu die Forensuche, davon hab ich schon genügende Einträge hier erstellt :slight_smile:

Im übrigen hab ich heute morgen sogar schon eine RA Antwort

Bei getätigtem Kauf sind solche Daten nicht zu löschen, sondern zu sperren. § 35 Abs. 2 Nr. 3, Abs. 3 Nr. 1 BDSG http://is.gd/8Z3gl

BUG bleibt BUG - löschen nicht erlaubt, zumindest NICHT wenn der Kauf getätigt wurde !!!

Du hast ja dann zwei Bugs:

  1. Paypal Express geht nur ohne Registrierung
  2. Ohne Registrierung werden Daten gelöscht

Bin ich froh das wir a) ne WaWi nutzen und b) kein Paypal anbieten.

[QUOTE=avenger;25413]
Wenn die Bestellung fertig ist enthält sie, wie bei OXID, alle notwendigen Kundeninformationen für die Abwicklung, und der Kundenstammsatz wird gelöscht.
[/QUOTE]

Es ist ja gerade nicht der Fall, dass die Kundeninformationen bei Oxid [B]PERMANENT[/B] in der Bestellung stehen! (Mal angenommen mir wäre der Kundenstammsatz egal.) Bei jeder Änderung der Bestellung löschen sich die notwendigen Kundendaten aus der Bestellung!

Bei jedem Speichern einer Bestellung (oxorder) wird anscheinend der Kunde neu aus den Stammdaten ermittelt (oxuser). Der Kunde existiert nicht mehr und Peng, weg ist er in der Bestellung, gelöscht für immer (außer in Backups die mir als Shopbetreiber wenig helfen) .

Kein Kundenkonto heißt doch nicht, dass man auch keinen Stammdatensatz des Kunden haben darf, oder ?

Hallo,

dieses Thema hatten wir auch schon mal auf der dev-general Mailingliste und sind noch eine Antwort schuldig:
http://thread.gmane.org/gmane.comp.php.oxid.general/299

Ich habe das heute nochmal in Richtung Produktmanagement angestossen.

Meine persönliche Meinung:
Wenn jemand explizit im Bestellschritt angibt, dass er nicht registriert werden möchte, soll das bitteschön auch so sein. Das heisst nicht, dass die Daten, die zur Erfüllung des Bestellauftrages notwendig sind, wieder gelöscht werden müssen - schliesslich hat man als Kaufmann eine Aufbewahrungsfrist zu wahren. Vielmehr darf kein Kundenaccount angelegt werden.

Aber schauen wir was passiert, wenn es eine offizielle und qualifizierte Antwort gibt.

Gruß

Marco noch haben aber oxuser nix mit oxorder zu tun und die daten in der oxorder werden gelöscht, genau DAS darf eben nicht sein, wenn dann darf nur der user in der oxuser gelöscht werden.

denn alles was man “im Zuge der Bestellung” brauch, unterliegt Aufbewahrungspflichten.

Hallo Martina,

[QUOTE=laramarco;25493]Marco noch haben aber oxuser nix mit oxorder zu tun und die daten in der oxorder werden gelöscht, genau DAS darf eben nicht sein, wenn dann darf nur der user in der oxuser gelöscht werden.

denn alles was man “im Zuge der Bestellung” brauch, unterliegt Aufbewahrungspflichten.[/QUOTE]

Genau davon rede ich ja. Aber zunächst muss eine definitive Aussage ran. Wie man das technisch umsetzt, ist noch eine ganz andere Geschichte.

Gruß

[QUOTE=Firefax;25424]Es ist ja gerade nicht der Fall, dass die Kundeninformationen bei Oxid [B]PERMANENT[/B] in der Bestellung stehen! (Mal angenommen mir wäre der Kundenstammsatz egal.) Bei jeder Änderung der Bestellung löschen sich die notwendigen Kundendaten aus der Bestellung!

Bei jedem Speichern einer Bestellung (oxorder) wird anscheinend der Kunde neu aus den Stammdaten ermittelt (oxuser). Der Kunde existiert nicht mehr und Peng, weg ist er in der Bestellung, gelöscht für immer (außer in Backups die mir als Shopbetreiber wenig helfen) .

Kein Kundenkonto heißt doch nicht, dass man auch keinen Stammdatensatz des Kunden haben darf, oder ?[/QUOTE]
Das ist m.E. natürlich [B]sehr [/B]falsch…

Die konkreten Bestelldaten des Kunden dürfen natürlich nicht mehr angerührt werden.

Außer man muss z.B. eine Lieferadresse, Bankverbindung u.a. ändern, was aber eines gezielten Eingriffs des Admins erfordert.