Neuer Paypal Checkout, Bestellungen gehen durch ohne bezahlt worden zu sein

Hallo zusammen,

wir verwenden das neue paypal Modul von OXID in der aktuellsten Version. Heute ruft ein Kunde an und sagt, er hätte nicht bezahlt, die Bestellung ging aber durch.
Habe jetzt alle Bestellungen geprüft der letzten Zeit und habe weitere Fälle gefunden.
Ich nutze paypal seit 15 Jahren im OXID Shop, so etwas ist noch nie passiert. Ich könnte ko…!
Die Bestellung ist in OXID angelegt, interner Status OK, aber es fehlt die Transaktionsnummer und im Reiter “paypal Checkout” steht: “Bestellung wurde nicht über das PayPal-Checkout-Modul bezahlt”.
Kennt jemand den Fehler bzw. die Ursache?

Grüße

aber das ist doch ein starker hinweis das die bestellung doch nicht bezahlt wurde. es war mit der früheren paypal modulen nicht anders. am besten immer im reiter “paypal” schauen ob die bestellung wirklich bezahlt wurde und erst dann die ware versenden.

1 Like

Dann stellt sich mir aber die Frage, warum der Bestellstatus schon auf OK steht. Wie soll denn eine externe Anbindung (z.B. eine WaWi) in den Paypal-Tab schauen? Genau dafür ist der Bestellstatus da. Und der hat erst auf OK zu stehen, wenn die Order alle nötigen Steps durchlaufen hat.

Danke, aber wir bekommen täglich 200-300 Bestellungen, ich muss mich darauf verlassen. Wir haben jetzt zwar eine Prüfung eingebaut in der Warenwirtschaft, aber zum einen ist das ein Zusatzaufwand, zum anderen ist es für den Kunden auch nicht schön, wenn man ihn anschreibt und die Zahlung “nochmal” anfordert.
Ich kann mich an keinen Fall erinnern in der Vergangenheit, bei dem das nicht sauber geklappt hat. Kunde bezahlt, Bestellung wird ausgelöst. Kunde hat Schwierigkeiten beim Bezahlen, die Bestellung geht nicht durch.
Ich habe bei ca. 1700 Bestellungen 8 Fälle gefunden. Eine Kundin hat zweimal bestellt und beide Male nicht bezahlt, die Bestellungen gingen aber durch.
Dem Kunden, der mich netterweise telefonisch kontaktiert hat, ist schon bei der Bezahlung aufgefallen, dass etwas nicht funktioniert hat. Also muss ja irgendein Abbruch stattgefunden haben und es erfolgte trotzdem eine Weiterleitung zu “Vielen Dank für Ihre Bestellung”.
Die Kunden sind auch solvent und zu 80% Stammkunden.
Das kam alles erst mit dem neuen Modul von paypal.

bestellstatus ok bedeutet nicht das eine zahlung tatsächlich auch eingegangen ist. ich kann genauso mit paypal eine bestellung abschließen ohne wirklich zu bezahlen.

Ich habe aktuell das gleiche “Problem”.
In der oxidshop.log wurde jedoch diese Meldung geschrieben:

[2022-11-03 09:59:38] OXID Logger.ERROR: Error on order capture call. ["[object] (OxidEsales\Eshop\Core\Exception\StandardException(code: 0): OSC_PAYPAL_ORDEREXECUTION_ERROR at

In meinem Fall findet das hier in der Sandbox statt.
Mehr Details zu diesem Aufruf kann ich unter https://developer.paypal.com → Sandbox → Api Calls einsehen.

Schlau werde ich daraus jedoch noch nicht.

daniel, außerdem überprüfen die wawis nicht nur die bestellstatus sondern auch die tabelle “oxpaid” und hier dürfte bei allen fällen sowas stehen: “0000-00-00 00:00:00”

Also unsere WAWI prüft nur den Bestellstatus. “OK” und die Bestellung wird abgerufen, alles andere wird nicht importiert.
Das Aussortieren ist das eine Problem (relativ einfach zu lösen), aber es ist natürlich ungünstig, wenn Kunden glauben, bestellt und bezahlt zu haben und dann keine Ware bekommen oder eine Rückfrage erhalten mit nochmaliger Zahlungsaufforderung.
Ich habe das auch schon an unsere technischen Betreuer weitergeleitet (V. Dörk, draufgeschaut), aber aus Erfahrung sind solche Probleme nicht mal schnell gelöst. Da sich zumindest ein weiterer Betroffener gemeldet hat, scheint es kein individuelles Problem zu sein.

Die Meldung “Bestellung wurde nicht über das PayPal-Checkout-Modul bezahlt” hätte man auch, wenn die Zahlung über eine andere Zahloption abgewickelt wurde. Nur um sicher zu gehen, was steht denn in der Bestellung im Tab Übersicht unter “Bezahlung mit”?

Und welche Version des PayPal Checkout Moduls setzt du ein? Aktuell gibt es relativ oft Updates.

@OXID-Design
Der Status OK wird meines Wissens nur dann gesetzt, wenn auch eine Bezahlung abgeschlossen wurde. Im Beispiel vom PayPal Checkout Modul hier:

@gaertnermarkus
Welche Meldungen hast du bei den API-Calls?
Und ist das der vollständige Error Log Eintrag aus dem oxidshop.log?

@naledre
Der Eintrag ist nur gekürzt. Hinter der Meldung verstecken sich 50 Zeilen Quellcode die derzeit keine Schlussfolgerung zulassen. Im Grunde kommt eine “Ablehnung” von Paypal und die wird damit verarbeitet.

Die Response bei PayPal sieht dann so aus:

{
“additional_properties”: “xxxxxx”,
“body”: {
“debug_id”: “AAAAAAAAAAAAA”,
“details”: [
{
“description”: “The instrument presented was either declined by the processor or bank, or it can’t be used for this payment.”,
“issue”: “INSTRUMENT_DECLINED”
}
],
“links”: [
{
“href”: “Orders”,
“method”: “GET”,
“rel”: “information_link”
},
{
“href”: “PayPal”,
“method”: “GET”,
“rel”: “redirect”
}
],
“message”: “The requested action could not be performed, semantically incorrect, or failed business validation.”,
“name”: “UNPROCESSABLE_ENTITY”
},
“duration_time”: “xxxxxx”,
“header”: {
“APPLICATION_ID”: “APP-XXXXXXXXX”,
“BORDER-IP”: “xxxxxx”,
“CALLER_ACCT_NUM”: “YYYYYYYY”,
“Date”: “Thu, 03 Nov 2022 09:38:24 GMT”,
“Keep-Alive”: “xxxxxx”,
“PROCESSING-IP”: “xxxxxx”,
“SERVER_INFO”: “xxxxxx”,
“paypal-debug-id”: “AAAAAAAAAAAAA”
},
“status”: 422
}

Ich erhoffe mir “etwas Licht” von dem Ansprechpartner bei PayPal.

Da steht Bezahlung mit: paypal
Ich setze das ganz aktuelle Modul ein, das wird von Volker Dörk eigentlich immer gleich aktualisiert. Aufgrund der Fälle ist es auch so, dass es von Anfang an auftrat und kein Update das Problem bisher gelöst hat.

Der Status OK ist gesetzt UND es gibt auch den Datumseintrag in “Bezahlt”. Das ist beides falsch.

Grüße

Als Ursache hat sich das Konto für die Sandbox herausgestellt. Das Konto war für die USA angelegt und nicht für Deutschland.

Als Ursache hat sich das Konto für die Sandbox herausgestellt. Das Konto war für die USA angelegt und nicht für Deutschland.

wie/wo kann man das auslesen?

Das war ein Hinweis vom PayPal-Support.

https://developer.paypal.com → Sandbox → Accounts: dort in der Übersicht ist das Land einsehbar.
Bei der Anlage einer App(My apps & credentials) kann solch einer Account zugewiesen werden.

Also ich kann nichts ungewöhnliches erkennen. Was soll das mit der Sandbox zu tun haben, die wird im Live Betrieb doch nicht verwendet?
Bei mir werden 5 Sandboxes aufgelistet, alle DE, bei vier steht “default” dahinter. Keiner Ahnung, habe das noch nie verwendet.
In der Ansicht Live Betrieb steht:


Die doppelten Einträge kommen daher, dass das Modul mehrfach installiert worden ist. Aber das macht ja eigentlich nichts, aktiv ist ja nur die mit der richtigen Client ID. Was ich merkwürdig finde, ist die Sandbox in der Ansicht “live”.

Garnichts. Ist wohl eher ein “Unterthema”.

So ein Fehler darf mit einem zertifizieren Modul nicht passieren.

nein, kann ich so nicht bestätigen. geht man alle 5 schritte durch, egal mit welcher zahlungsart, wird die interne status automatisch auf “ok” gesetzt.

siehe hier in demoshop

benutzer: [email protected]
passwort: demo

Heute war wieder ein Fall dabei, den haben wir rausgefiltert. Dann muss man wohl abwarten und auf das aggrosoft Modul warten oder eben bis es von OXID gefixt wird (falls es am Modul liegt).
Verwendet jemand paypal mit Mollie zusammen? Die haben ja ein eigenes Modul…

Was steht zu der Zeit im Shop log?

Und sorry, dass ich da nochmal nachhaken muss, aber nur um sicherzugehen, was steht in der Datenbank in oxorder bei OXPAYMENTTYPE?

Und sind noch andere Payment Module aktiv?

Hallo, da muss ich mal meinen technischen Betreuer fragen, ich habe keinen Zugriff zur log file.
Ich hatte eben aber ein interessantes Gespräch mit paypal. Dieses Problem gibt es, auch bei anderen Shopsystemen, ist aber mittlerweile weitgehend behoben. Der Mitarbeiter sagte, das ist ein Problem des Moduls, da wird in bestimmten Situationen ein Fehler produziert. Bei Shopware, jtl und anderen läuft es mittlerweile fehlerfrei.
Insofern ist OXID am Zug, das zu beheben.