In welcher MySQL-Tabelle ist der Fehler gespeichert?: "Beim Abruf der Daten für diese Zahlung ist "

Thema wurde von MrFab16.4, 24. August 2020 erstellt.

  1. MrFab16.4

    MrFab16.4 Erfahrener Benutzer

    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...


    [​IMG]
     
  2. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Soweit ich mich erinnere werden die PayPal Daten immer bei PP abgerufen
     
  3. Anonymous

    Anonymous Erfahrener Benutzer Mitarbeiter

    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.
     
  4. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    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.
     
  5. MrFab16.4

    MrFab16.4 Erfahrener Benutzer

    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?
     
  6. MrFab16.4

    MrFab16.4 Erfahrener Benutzer

    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...
     
  7. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    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.
     
  8. Anonymous

    Anonymous Erfahrener Benutzer Mitarbeiter

    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.
     
  9. MrFab16.4

    MrFab16.4 Erfahrener Benutzer

    Frage: In welcher Shop-Tabelle bzw. welcher Spalte sind denn der Bestellstatus bzw. die Bestellstatushistorie abgelegt?
     
  10. MrFab16.4

    MrFab16.4 Erfahrener Benutzer

    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


    [​IMG]
     

    Anhänge:

  11. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    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.
     
  12. MrFab16.4

    MrFab16.4 Erfahrener Benutzer

    Öhm, weil ich nicht nur die letzten aktuellen Orders durchschauen wollte,
    SONDERN DIE VERGANGENEN JAHRE, deshalb SQL.!
     
  13. MrFab16.4

    MrFab16.4 Erfahrener Benutzer

    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!
     
  14. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    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.