Wieder vermehrt Kaufabbrüche bei PayPal

Seit einem der letzten Updates haben wir wieder vermehrt Kaufabbrüche mit PayPal (und das unabhängig von der Variante [Express, Classic, …]).

Allen Abbrüche gemein ist folgendes Verhalten, was ich aus dem Log heraus so „deute“:

Kunde legt sich was in den Warenkorb
PayPal wird authorisiert (also mit unseren Merchant-Daten)
Kunde bestätigt die Bestellung

und dann geht es nicht her weiter!

Letzter Log-Eintrag in allen diesen Fällen:

PayPal: SwagPaymentPayPalUnified\Controllers\Frontend\AbstractPaypalPaymentController::createPayPalOrder PAYPAL ORDER SUCCESSFUL CREATED - ID: 2

Der Controller ist ggf, ein anderer aber grundsätzlich wird die PayPal-Order angelegt und danach bricht die Kette ab.

Was auch auffällt:

PayPal wirft danach mindestens 3 Mal einen Webhook:

{
  "payload": {
    "id": "WH-6SU49194E1928380R-6MH44449M7788980J",
    "event_version": "1.0",
    "create_time": "2023-02-27T09:35:17.551Z",
    "resource_type": "checkout-order",
    "resource_version": "2.0",
    "event_type": "CHECKOUT.ORDER.APPROVED",
    "summary": "An order has been approved by buyer",
    "resource": {
      "create_time": "2023-02-27T09:31:08Z",

der dann „beantwortet“ wird mit:

PayPal: (Webhook) Could not process the request, because no handler has been referenced to this type of event.

{
    "id": "WH-6SU49194E1928380R-6MH44449M7788980J",
    "event_version": "1.0",
    "create_time": "2023-02-27T09:35:17.551Z",
    "resource_type": "checkout-order",
    "resource_version": "2.0",
    "event_type": "CHECKOUT.ORDER.APPROVED",
    "summary": "An order has been approved by buyer",

Das Ganze jetzt nur am WE 4 mal :frowning:

Es kann mir doch keiner erzählen, dass da Kunden bei uns im Shop durch den ganzen Bestellprozess durchgehen, um dann am Ende einfach den Shop mit einem offenen Warenkorb zu verlassen. Und vor allem erst NACHDEM sie bei PayPal den Kauf bestätigt haben.

Hallo,
bei den alternativen Zahlungsarten konnte die Ursache eingegrenzt werden und es gibt eine neue PayPal Version (6.0.3): https://store.shopware.com/swag828732772311f/paypal-fuer-shopware-5.html.

Tritt das bei Dir sporadisch auf (andere Bestellungen mit den selben Zahlarten werden angelegt) oder ist es ein generelles Verhalten für diese Zahlungsarten?

Viele Grüße
Markus

Moin Markus :slight_smile:

Ich bin jetzt etwas irritiert. Hier geht es um Kaufabbrüche und nicht um die Doppelbestellungen.

Auf den Punkt: Kunde kommt, legt Waren in den Korb, geht durch den Bestellprozess, bestätigt bei PayPal die Bestellung und danach geht der Kaufprozess nicht mehr weiter.

Es bleibt jeweils ein offener Warenkorb zurück und im PayPal-Log dann in der Regel drei Versuche seitens PayPal mittels Webhook das „Approved by Buyer“ mitzuteilen, was mangels empfangender Gegenseite dann nach ca. 5 Minuten von PayPal „abgebrochen“ wird.

Michael hat vor wenigen Tagen eine Testbestellung bei uns gemacht und den Shop gesehen: wir verkaufen keinen „Allerweltskram“, sondern Ersatzteile. Die Kunden suchen in der Regel nicht nur nach dem Teil, sondern wählen vorher gezielt ihr Fahrzeug bei uns aus, für welches sie das Ersatzteil suchen (und das kann ich gut nachvollziehen - das Plugin dazu stammt von mir, ich logge da im Moment jeden einzelnen Click mit).

Heißt: die wollen gezielt kaufen. Deswegen ist es mir schwer vorstellbar, dass sich jemand erst die „Arbeit“ macht, um dann am Ende den Warenkorb einfach offen und den Shop zu verlassen. Das macht überhaupt keinen Sinn.

Hallo PingPong,
war zugegebenermaßen blöd formuliert: Ich hatte in Erinnerung, dass Du in einem Thread mit Mehrfachbestellungen geantwortet hattest und darauf bezog sich die Mitteilung.

Der zweite Satz bezog sich dann auf die aktuelle Frage. Wenn Michael da dran ist, dann geht es ja für Dich voran.

Viele Grüße
Markus

Um die zu beantworten: nein, da werden keine neuen (doppelten) Bestellungen angelegt. Der gesamte Prozess bricht einfach ab.

Ich hab am Montag sogar live dabei zusehen können. In dem Widget im Backend. Kunde kommt, legt was in den Warenkorb und nach x Minuten (ein, zwei, drei … Refreshes des Widgets) wird der Kunde nicht mehr im Widget angezeigt aber dafür ein Neukunde ohne dazugehöriger Bestellung.

Du weißt, was ich meine?

Und der Blick ins Log hat dann exakt das ergeben, was ich oben gepostet habe → das war nämlich exakt dieser Fall.

Und in der Abbruch-Analyse steht dann eben jener Kunde mit einem offenen Warenkorb drin. Und dieser Kunde hat sich extra registriert - das ist also auch kein Express oder so.

Und Gott sei Dank tritt das nur sporadisch auf. Ist dann aber von den Zahlarten und vom Endgerät unabhängig. Es hat aber [gefühlt] mit einem der letzten Updates zugenommen.

Bin gespannt wenn das Plugin wieder so stabil läuft wie die v3.

Passiert mir gerade als Kunde selber. Ich will gerade in einem Shopware Shop bestellen und erhalte beim bestätigen meiner PayPal-Daten folgendes Fenster:

Das würde exakt zu dem passen, was bei uns im Shop auch passiert → der Kunde macht ein APPROVE und danach geht es nicht mehr weiter im Bestellprozess.

Ich kann an dieser Stelle als Kunde nichts machen. Selbst ein Seitenrelaod im Warenkorb etc. bringt mich nicht weiter. Sobald ich den kauf im PayPal-Popup bestätige, lande ich immer wieder im Nichts!!

[Nachtrag]

Scheint ein Problem in Chrome/Chromium (ich nutze Vivaldi) zu sein → im aktuellen Firefox läuft der Prozess sauber durch, incl. 2FA (Bestätigung in der PP-App).

Würde sich bitte mal einer vom Staff hierzu äußern?!

Wir haben inzwischen einen hohen 4stelligen Betrag als Kaufabbrüche zu verzeichnen und von den Kunden, die uns geantwortet haben, durchgehend dieselbe Antwort erhalten: nach dem Bestätigen des Kaufes bei PayPal geht es NICHT mehr weiter. Entweder dauerhafte „Eieruhr“ oder ne leere Seite oder sonstwas … aber sie können den Kauf nicht abschließen.

Das ist offensichtlich ein Problem auf PayPal seite…

Ich würde mich an die wenden

Das ist nicht dein Ernst, oder?

Weist du, was die Antwort auf PayPal-Seite dazu ist: bitte setzen Sie sich mit dem Anbieter des Plugins in Verbindung.

IHR seit Integrationspartner von PayPal und nicht wir als Shopbetreiber! Wir haben andere Dinge zu tun, als Bugs in der Shopsoftware hinter her zu rennen.

Hallo @PingPong

mit den hier zur Verfügung gestellten Informationen können wir kein Fehlverhalten feststellen.
Der Screenshot von dir zeigt ein Pop-Up, dass von dem PayPal Javascript erstellt wird. Der Inhalt wird ja von PayPal selber gesteuert und nicht durch Shopware. Ich denke, dass meinte auch Dennis.

Wichtig für uns ist, dass wir einen Weg aufgezeigt bekommen, mit dem wir das fehlerhafte Verhalten reproduzieren können. Andernfalls ist es uns nicht möglich den Fehler zu beheben.

Ich würde auch behaupten, dass es kein allgemeines Problem ist. Die aktuellen Versionen (6.0.x) sind mehrere tausend Male heruntergeladen geworden. Aber weder über den Support, noch über den Issue-Tracker wurden uns dergleiche Probleme zugetragen.

Wenn möglich, wende dich bitte an unseren Support, dann können wir mal auf euer System drauf schauen.

Viele Grüße aus Schöppingen
Michael Telgmann

Das habe ich bereits geliefert!

Der Kunde geht in den Warenkorb, bestätigt den Kauf, das PP-Popup öffnet sich, er bestätigt dort seine Daten UND den Kauf und danach ist Schluss. Es geht für den Kunden an der Stelle nicht mehr weiter. Er hat keinerlei Möglichkeit, diesem Verhalten zu entkommen (es sei denn, er weicht auf eine andere Zahlart aus).

Dass das noch keinem aufgefallen sein mag, mag daran liegen, dass nur eine Kombination aus „Abgebrochene Warenkörbe“ UND „erweitertes Logging“ überhaupt eine Spur erkennen lässt.

Denn nur das Logging auf Debug-Ebene liefert in eurem PP-Plugin überhaupt irgendwelche Infos, nach denen man dann als Shopbetreiber auf die Suche nach Ursachen gehen kann.

Und ich verrate dir sicher kein Geheimnis, dass das Logging per default NICHT so ausführlich ist.

Und was Michael meint ist, dass es uns mit diesen (von Dir gegebenen) Informationen nicht möglich ist, den Fehler nachzustellen. Darum hat er dich gebeten ein Support-Ticket zu erstellen, damit wir uns das Problem ansehen können.

Wahrscheinlich bei Express oder?

Nein, soweit ich das nachvollziehen kann, bei allen Varianten.

Ich habe aber ehrlicherweise schlicht die Zeit nicht, mich durch die DB (Kaufabbrüche, bzw. offene Warenkörbe) und dann durch die Logs zu arbeiten, Zeitstempel zu vergleichen und zu gucken, welche Transaktion jetzt wie in den Logs auftaucht und welche dann zum Abbruch geführt hat.

Was aber in ALLEN Fällen auffällt: PayPal erkennt selbst, dass die Transaktion nicht abgeschlossen wurde und sendet in ALLEN Fällen mindestens 3 Mal ein Event hinterher, das mangels Eventhandler vom Shop einfach nicht abgearbeitet/behandelt wird.

Für uns doppelt bitter: wir fahren eine Ads-Kampagne, die mitunter sehr teure Klicks generiert. Uns geht in den Fällen also nicht nur Umsatz verloren (und auch ein Kunde - die aller wenigsten starten einen zweiten Versuch!) — wir zahlen auch noch drauf :frowning:

Kannst Du nicht wieder zurück auf 4.3.3? Das läuft, OHNE Express.

Im Endeffekt ist es aber, wie schon oft erwähnt, ein Witz das ganze, egal, ob das jetzt von Superstar Paypal ausgeht oder von Shopware.

Nein, wir können nicht zurück. Das ganze Konto ist auf das neue „Format“ (PayPal Checkout) umgestellt. Wir haben die ganzen internen Prozesse umgestellt (Ratepay, etc.).

Hatte gestern auch mal wieder enorme Probleme. Gleiches Verhalten wie bei Dir. Die Kunden erstellen ein Konto, man sieht Sie im Backend mit Warenkorbsumme und nach ca. 5 Minuten ist der Kunde verschwunden. Mir stellt sich dann die gleiche Frage, warum erstellt der Kunde ein Konto wenn er nicht bestellen möchte. Abbrüche ohne Ende. Gefühlt läuft Paypal abends stabiler als tagsüber bzw. es kommen dann wieder mehr Bestellungen.

Die Frage, „warum macht man sowas“, habe ich mir ja schon oft gestellt … die Antwort scheint ganz simpel:

die machen das nicht - sie werden dazu gezwungen

Der Screenshot von mir stammt von einem der größten deutschsprachigen (in Ö ansässig btw.) Onlineshops in seinem Marktsegment … ich möchte nicht wissen, welchen Umsatz die deswegen liegen lassen (müssen).

Und ich gehe jede Wette ein, dass die so viel Traffic haben, dass denen das nicht mal auffällt.

Ich konnte mir ja jetzt auch nur einen Reim auf die Infos aus Log und Datenbank machen, nachdem ich als Kunde selber vor einem „leeren“ PayPal-Popup gesessen habe.

Das war so ein „warte mal“ - Moment. Da hat das alles für mich Sinn gemacht. Und es ist ja nicht jeder so wie ich, der dann mal eben einen anderen Browser aufmacht, sich im Shop nochmal einloggt, seinen Warenkorb neu öffnet und dann den ganzen Bezahlprozess nochmal komplett neu durchläuft.

Nein, der Normalkunde bekommt eine leere Seite zu sehen, macht evtl. einen Reload (der überhaupt nichts bringt btw.), stellt fest, dass er so nicht weiter kommt und macht den Browser zu. Erledigt.

Und weil wir, wie so einige andere auch, ganz reguläre KFZ-Ersatzteile verkaufen, ist der Kunde auf Nimmerwiedersehen weg - der kauft schlicht woanders.

Hallo @PingPong

wir haben Kontakt zu unseren PayPal-Ansprechpartnern aufgenommen und möchten das Problem genauer untersuchen. Dafür bräuchten wir deine Hilfe, um an eine Debug-ID zu kommen.
Falls der Fehler noch einmal auftritt, müsste einmal folgendes in die Browser Dev Console eingegeben werden:

(function () { 
  window.alert(
    (document.body.innerHTML.match(/calc=([a-f0-9]{13})/) 
    || document.body.innerHTML.match(/\"calc\"\:\s\"([a-f0-9]{13})\"/))[1]
    ); 
  }
)();

Dies sollte dann ein kleines Browser Modal aufpoppen lassen mit einer ID. Es wäre super, wenn du uns diese zukommen lassen könntest.

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