Hallo zusammen, heute habe ich eine ganze Latte Bestellungen ausgedruckt und versandt. Dann stellte ich fest, dass zu einer bestimmten Order in meinem langen Posteingangs-Ordner eine Bestellbenachrichtungsmail fehlte. Daraufhin habe ich in meinem Shop gezielt die Order aufgerufen und dabei die nachfolgende Fehlernachricht entdeckt: "Beim Abruf der Daten für diese Zahlung ist ein Fehler aufgetreten". Frage dazu: In welcher der Shop MySQL-Tabellen wird/ist diese Information abgespeichert? Dann würde ich in der entspr. Tabelle gerne mal per SQL nach weiteren (solcher) Fehlermeldungen schauen...
Dennis liegt richtig. Die Meldung besagt, dass der Vorgang bei PayPal unbekannt ist. Das passiert, wenn es bei der Durchführung der Zahlung ein Problem gab. Die Bestellung ist also mit größter Wahrscheinlichkeit nicht bezahlt.
Ja, das ist richtig. Zumindest beim mir vorliegenden paypal3-Modul werden die Daten live abgerufen. Sofern das Logging aktiviert ist, werden Fehler beim Abruf in den Logfiles payment.paypal3 bzw. payment.paypal3-debug abgelegt, nicht in der Datenbank. Das habe ich nicht recherchiert, aber der Verdacht liegt nahe, dass der Abruf deshalb fehlschlägt, weil es schon bei der Zahlung Probleme gab und Infos dazu in denselben Logfiles zu finden sind.
Hm ok, gibt es denn im Shop wenigstens eine MySQL-Tabelle in der vermerkt ist (und sei es nur durch eine Spalte mit z.B. dem Wert "0" oder "1"), ob eine PayPal-Transaktionen abgebrochen ist bzw. einen Fehler hatte?
Das ist richtig! Wenn ich mich bei PayPal, in mein PayPal-Konto, einlogge, ist dort die Bestellung bzw. der Kunde gar NICHT als Transaktion aufgeführt... Ergo, auch keine Bezahlung...
Dann war es ein abbruch oder fehlerhafte zahlung. Wenn du bei der Bestellstatus anzeige eingestellt hast das nach PP Zahlung anderer status ist als bei abbruch / offen dann könntest das sehen im Status verlauf der bestellung.
Mit einem Supportticket könnte man das genauer analysieren. Dennis’ Hinweis auf den Bestellstatus bzw. die Bestellstatushistorie ist richtig, da könnte noch etwas aufschlussreiches stehen.
Frage: In welcher Shop-Tabelle bzw. welcher Spalte sind denn der Bestellstatus bzw. die Bestellstatushistorie abgelegt?
Was die Bestellhistorie betrifft habe ich mir nun ein paar MySQL-Tabellen angeschaut und bin dabei auf die folgende Tabelle `orders_status_history`gestoßen. Auswertbar per folgender SQL-Abfrage: SELECT * FROM `orders_status_history` Nachfolgend nun eine Auswertung der/meiner Tabelle `orders_status_history` auf den Begriff "Fehler": SELECT * FROM `orders_status_history` where comments like '%Fehler%'. Wie man in dem nachfolgenden Screenshot sieht gibt es (über einen längeren Zeitraum) durchaus einige solcher Fehlerfälle bei PayPal-Zahlungen. Mein aktueller PayPal-Fehlerfall ist der letzte Datensatz in dem Screenshot, der mit der Order_id: 403730
Warum in tabellen rumsuchen. schau doch bei der erstmal direkt im Admin nach. Da steht das in den Bestelldetails doch unten aufgelistet wann die welchen Bestellstatus hatte. Rechnung erstellst dann erst wenn Status Bezahlt ist und lässt die weg die offen oder abgebrochen sind. Warum als in Tabellen rumsuchen? In der Datenbank hat man normal nix mehr zu suchen.
Öhm, weil ich nicht nur die letzten aktuellen Orders durchschauen wollte, SONDERN DIE VERGANGENEN JAHRE, deshalb SQL.!
Mittlerweile habe ich weiter recherchiert... Wenn ich mir die Order_ids aus meinem obigen Screenshot in meinen Shop näher anschaue, die mit SELECT * FROM `orders_status_history` where comments like '%Fehler%' angelistet wurden, so sind darunter viele Orders, die nachträglich (von mir im Backend) storniert wurden, weil der Kunde eine Stornierung seiner Bestellung wünschte, z.B. weil er was falsches bestellt hatte... D.h. die Fehlermeldung "Bei der Ausführung der Zahlung ist ein Fehler aufgetreten. TRANSACTION_REFUSED/The request was refused" wird AUCH erzeugt, wenn eine Order nachträglich (im Backend) storniert wurde... Es sind in der o.g. Liste der Order_ids ABER AUCH ein paar Orders enthalten, die NICHT im Backend storniert wurden! D.h. bei ein paar Orders kam es dann zu KEINER durchgeführten PayPal-Zahlung!
Diverse deiner Einträge da werden beim Execute (Zahlung ausführen, wird bei Blick auf kostenpflichtig Bestellen abgesendet) schiefgegangen sein. Das kommt vor bei abgelaufenen Kreditkarten der Kunden, wenn PayPal trotz erfolgreicher Vorprüfung nicht an das Geld kommt. 2 deiner Einträge sagen du hast mal Bestellnummern recycled (Bestellung mit externen Zahlungsanbietern NIE löschen!)... In einigen Fällen landet der Kunde dann wieder im Warenkorb, in einigen wird eine Bestellung ohne Zahlung gespeichert. Da gbts Sachen die man fangen kann, andere nicht. In jedem Fall wird eine erfolgreiche Zahlung asynchron (nachträglich, nach Bestellung) per Webhook an den Shop bestätigt. Nur dann springt die Bestellung auf bezahlt. Man muss also mit dem Orderstatus der Bestellungen beim abholen arbeiten, alles andere geht schief.