PayPal 6.0.2 doppelte Bestellungen

Hi,
irgendwie haben wir immer zwischendurch das Problem, dass PayPal Bestellungen 2x im System auftauchen.
Bei PayPal ist dann nur eine Zahlung, in Shopware dann allerdings 2 Aufträge.
Kennt jemand das Problem?

Hallo Premium-Dog,
welche PayPal Version setzt Du ein? In den neueren Versionen (6.x) war bislang nur festzustellen, das es meist im Zusammenhang mit den erweiterten Zahlungsarten auftritt. Falls Du mehr Informationen hast, wäre das hilfreich.

Viele Grüße
Markus

Hallo Markus,

das ist schlicht und ergreifend falsch!

Ich melde doppelte (und inzwischen sogar dreifache!) Käufe schon seit Wochen - über alle PayPal-Arten hinweg.

Besonders nervig sind sie allerdings bei Ratepay-Käufen, weil die Kunden doppelte Zahlungsaufforderungen von Ratepay bekommen.

Den Aufwand, den wir dann haben, das zu kommunizieren und für den Kunden gerade zu bügeln, ersetzt uns leider keiner.

Und ihr habt von mir mehr als ein Log erhalten inzwischen.

@premium-dog

Kontrolliert bitte unbedingt euren PayPal-Account! Wir haben inzwischen mehrfach das Problem, dass nicht nur die Bestellung im Shop doppelt angelegt wurde, sondern zwei vollständig abgewickelte Zahlungen durchgeführt wurden. Sprich: wir mussten nicht nur eine der Bestellungen im Shop stornieren/bereinigen, sondern auch tatsächlich eine Rückzahlung leisten.

Hallo PingPong,
mir ist bewusst, dass das ärgerlich ist und viel Aufwand bedeutet. Deshalb sind die Entwickler bei solchen Themen auch relativ schnell am Ball. Im letzten Jahr waren die Fälle recht gut dokumentiert, weil es parallel dazu Meldungen in den Logs gab. Die letzten mir bekannten Fälle waren da aber anders. Es handelte sich bislang ausschließlich um die erweiterten Zahlungsarten und es traten keine Fehler auf. Teilweise ist es sogar so, dass bei der selben Zahlart und geringem zeitlichem Abstand eine Bestellung doppelt angelegt wird und die direkt davor und danach sind komplett unauffällig.

Wenn Du ein reproduzierbares Verhalten festgestellt hast, wäre das sicherlich hilfreich, denn dann kann die Ursache normalerweise ermittelt werden. Bei allen Meldungen zu PayPal 6.x, die mir bekannt sind, gibt es zwar zwei Bestellungen, aber nur eine Zahlung. Das ist eine komplett anderes Verhalten als Du beschreibst.

Bei allen Bestellungen, die ich über PayPal vorgenommen habe, hatte ich nicht einen Fall mit doppelten Bestellungen und ich habe verschiedene Szenarien geprüft.

Falls Ihr Rechnungen beim Bestelleingang erstellt und darauf eine zeitlang verzichten könnt, wäre das einen Test wert, denn das ist oft eine Fehlerquelle (in Shopware 5), aber auch andere Plugins, die in den Bestellabschluss eingreifen. Eventuell gibt es auch inkompatible Plugins, einige Hersteller haben sogar eine Liste mit Erweiterungen, die sich nicht mit den ihren vertragen. Gibt es andere Zahlungsanbieter? Auch dadurch kann es zu doppelter Abwicklung kommen, wenn z.B. beide Kauf auf Rechnung oder PayLater anbieten.

Wenn es irgendeinen Ansatz zu diesem Thema gibt, teste ich das gern gegen oder leite es ggf. weiter. Ich denke, dass alle wollen, dass es hier ein Lösung gefunden wird, nicht nur Ihr als direkt betroffene.

Viele Grüße
Markus

Ich selber habe euch solch einen Log zukommen lassen, wo binnen weniger Millisekunden mit ein und demselben Warenkorb zwei vollkommen getrennte PayPal-Zahlungen (unterschiedliche Transaktions-IDs) durchgeführt wurden.

Zum Rest deiner Antwort:

wir erstellen weder Rechnungen, noch sonstiges. In den Bestellabschluss „greift“ als Plugin lediglich der TagManager ein - was sich schlicht darauf beschränkt, dass auf der finish-Seite das Google-Script für das Bewertungs-Popup eingebunden wird.

Da das Problem mit AmazonPay grundsätzlich gar nicht auftritt, mit Vorkasse ebenso wenig und mit PayPal eben nicht reproduzierbar, kann ich das als Fehlerquelle ausschließen.

Bei ersten Drüberwegfliegen im Code, vermute ich, dass es ein Timingproblem mit dem leeren der Warenkörbe in der Session gibt … soweit ich das nachvollziehen kann, wird im Controller einzig anhand des Vorhandnseins eines Warenkorbes und einer aktiven PP-Session unterschieden, ob der Bezahlprozess beendet ist (redirect zu finish) oder eben nicht.

Wird der Warenkorb nicht zeitnah aus der Session gelöscht, die aktive PP-Session aber beendet, verbleibt der Warenkorb in der Session und es wird ein komplett neuer Vorgang bei PP gestartet.

Zumindest mein erster Eindruck … wie gesagt: ich bin nur drüber weg geflogen. Die indexAction im Controller sollte evtl. auf derlei Timingprobleme hin in ihrer Logik zumindest überprüft werden.

1 „Gefällt mir“

Hallo PingPong,
ich habe Deinen Beitrag für die entsprechenden Leute verlinkt. Ich kann leider nicht beurteilen, ob das die Ursache sein kann. Vielen Dank für Deine Rückmeldung.

Viele Grüße
Markus

1 „Gefällt mir“

Hallo @PingPong

kannst du das genauer anhand der Code-Stellen auf GitHub erklären? Wir wissen gerade nicht genau, was du mit „PayPal-Session“ meinst, welchen Controller, usw. :slightly_smiling_face:

Vielen Dank und viele Grüße aus Schöppingen
Michael Telgmann

Shopware_Controllers_Frontend_PaypalUnifiedV2PayUponInvoic

indexAction

Laut Log wird binnen weniger Millisekunden geschrieben REDIRECT und danach sofort wieder START

Sprich: die indexAction wird sofort wieder ausgeführt (das redirect hat also (noch) nicht gefeuert) … in dem Fall sind alle Session-Daten noch vorhanden und der ganze Prozess, incl. Erzeugen einer neuen PayPal-Order wird erneut durchlaufen.

Das ist für mich anhand der Log-Daten die einzige Erklärung. Warum allerdings das redirect nicht oder noch nicht feuert, ist für mich an der Stelle tatsächlich ein Rätsel.

Wie gesagt: wir hatten mehrfach Doppelbestellungen und in mindestens einem Fall haben wir zwei Buchungen auf dem PayPal-Konto gehabt.

Für mich ist absolut nicht nachvollziehbar, wie da jeweils ein Payment erfolgreich durchgeführt werden kann, wenn der Kunde nur einmal bei PP bestätigen muss (wir haben diese Aussage von mehreren Kunden so erhalten).

Moin,

ist es in deinem Shop möglich einen Doppelklick auf „Jetzt Kaufen“ zumachen, so das zwei Requests abgefeuert werden?

Das ist in jedem Shop möglich?! :smiley:

Ich kann auf jeden Button einen Doppelklick machen, wenn ich schnell genug bin.

Aber falls du darauf abzielst: nein, da haben wir nichts gesondert umgebaut/angepasst → da wird Standard-Shopware-Template angezeigt.

In dem Log, das ich im Tracker eingestellt habe, sieht man das Verhalten sehr deutlich → anhand der Debug-Meldungen bleibt gar kein anderer Schluss übrig, als dass die indexAction zweimal durchlaufen wird.

Das war so eine Doppelbestellung und ich müsste jetzt nochmal nachgucken aber ich bin mir sicher, dass das auch die war, wo wir dann am Ende sogar zwei Zahlungseingänge auf dem Konto hatten. Und wenn es nicht der Log-Eintrag war, bleibt das grundsätzliche Problem aber dasselbe → das Log sieht in solchen Fällen immer gleich aus.

Der Kunde hat vom Ratepay zwei Zahlungsaufforderungen bekommen … mit jeweils unterschiedlichen IDs.

Ich hab dazu mit PayPal und ratepay gesprochen: gemeinsame Aussage → das ist eigentlich nicht möglich, ohne, dass der Kunde in beiden Fällen hätte die Transaktion bei PayPal bestätigen müssen. Hat er aber nicht. Trotzdem hat er ein und denselben Warenkorb zweimal bezahlt.

Hallo @PingPong

nein, ein doppeltes Klicken des Confirm-Buttons ist durch Javascript unterbunden. Wenn du also tatsächlich zwei Requests mit einem Doppelklick abschicken kannst, ist das kein Default-Verhalten :wink:

Viele Grüße aus Schöppingen
Michael Telgmann

Dann ist es nicht möglich, bei uns einen Doppelklick zu machen.