Dieses Problem bedeutet, dass das Transaktions-Feedback von Ingenico den Shop nicht erreicht hat oder nicht richtig verarbeitet wurde.


Checkliste Ingenico Backoffice

SHA-IN / SHA-OUT

  • Werte müssen alphanumerisch sein (keine Sonderzeichen oder Umlaute)
  • Max. 20 Zeichen lang
  • Übertragen Sie SHA-IN und SHA-OUT per Copy & Paste aus dem Ingenico-Backoffice in Magento und klicken Sie auf "Speichern"!

Transaktions-Feedback URLs

  • Prüfen Sie die URLs auf dem Tab "Technische Informationen -> Transaktions-Feedback".
  • Wenn Sie für diese URLs eine HTTP-Weiterleitung haben, tragen Sie die finale Ziel-URL ein. Das Transaktions-Feedback folgt keinen HTTP-Weiterleitungen!
  • Achten Sie bei den URLs auf Groß- / Kleinschreibung.
  • Die URLs müssen über das Internet erreichbar sein (keine blockierende Firewall-Regel usw.).
  • Beispiel Konfiguration und URLs:

direct_http_server-to-server_request.png



http_request_for_status_changes.png



Weitere Checks

  • Prüfen Sie auf dem Tab "Fehlerprotokolle" im Ingenico-Backoffice, ob dort Fehlermeldungen zu finden sind.
  • Prüfen Sie die detaillierten Postsale-Logs der Transaktion. Suchen Sie nach "ONL PS ERROR ..." Das ist der HTTP Antwortcode, der vom Shopserver gesendet wurde.
  • Prüfen Sie den Transaktions-Status im Ingenico-Backoffice:
    • Bei Status "2 - verweigert" wird kein Feedback gesendet, bis die Anzahl der erlaubten Zahlungsversuche erreicht ist.
    • Gehen Sie in "Tech. Informationen -> Globale Transaktionsparameter" und stellen Sie die Anzahl der erlaubten Versuche auf "1", um sofort ein Feedback zu erhalten.
    • Sie können hier auch "2" eintragen, um einen Fehler und dann einen weiteren Versuch zu erlauben.

Checkliste Magento Server

  • Stellen Sie sicher, dass der User Agent von Ingenico nicht in der Webserver-Konfiguration oder Firewall blockiert wird:
Mozilla/3.0 (compatible; Indy Library)
  • Öffnen Sie die Datei ops.log:
    • Suchen Sie nach zwei benachbarten Zeilen, die mit "Hashed String by ..." anfangen und vergleichen Sie die Werte.
    • Wenn die Werte nicht identisch sind, prüfen Sie, ob die SHA-Konfiguration zu 100% korrekt ist.
    • Suchen Sie außerdem im ops.log nach Zeilen mit "Incoming ...". Wenn diese fehlen, fahren Sie mit dieser Checkliste fort.
  • Prüfen Sie in den Magento Logs system.log und exception.log ob dort Fehler auftauchen, wenn das Feedback eingehen sollte.

Testen der Transaktions-Feedback URLs

Rufen Sie die URLs im Browser auf. Wenn Sie funktionieren, sollte eines der folgenden Ergebnisse erscheinen. Beide bedeuten, dass der Test ok ist:
  1. Sie sehen eine leere weiße Seite und den HTTP Antwortcode 422 in der Browserkonsole, ODER
  2. die Meldung "hash not valid" und den HTTP Antwortcode 500 oder 503.

Prüfen Sie nach diesem Test, ob sich die URLs in der Browser-Adresszeile geändert haben.
  • Wenn ja, deutet das auf einen Redirect (Weiterleitung) hin.
  • Tragen Sie die geänderten URLs aus der Adresszeile ins Ingenico-Backoffice ein (einschl. aller Schrägstriche).
  • Prüfen Sie mit einer neuen Zahlung, ob das Status-Update jetzt funktioniert.

Es funktioniert immer noch nicht?

Wenn Sie eine 404-Seite oder andere Ergebnisse als die oben genannten sehen, fahren Sie hiermit fort:
  • Erscheint eine Login-Abfrage (htaccess-Authentifizierung)? Diese muss deaktiviert werden.
  • Nutzt der Shop SSL? Dann ändern Sie die URLs entsprechend auf HTTPS.
  • Sind in Magento die Store Codes aktiviert? Dann fügen Sie den Standard Store Code zu den URLs hinzu.
  • Nehmen Sie testweise folgende Änderungen vor:
    • Fügen Sie "index.php" hinzu, Beispiel: http://your_shop_url.com/index.php/ops/api/postBack
    • Fügen Sie ganz am Ende einen Schrägstrich "/" hinzu.
  • Gibt es andere Redirects (Umleitungen) auf dem Webserver, die Probleme machen könnten? Deaktivieren Sie sie und testen Sie dann erneut.
  • Prüfen Sie die Access-Logs des Webservers (Apache, nginx, etc.). Das Feedback wird innerhalb von 15 Minuten nach Durchführung der Zahlung gesendet.

Debugging

Um den Inhalt des Feedbacks zu untersuchen, kann Folgendes getan werden:

  • Öffnen Sie die Datei /app/code/community/Netresearch/OPS/Controller/Abstract.php
  • Suchen Sie nach der Funktion _validateOPSData
  • Innerhalb der Funktion, suchen Sie diese Zeile:
    $params = $this->getRequest()->getParams();
  • Fügen Sie diesen Code unter der o.g. Zeile ein:
    Mage::log($params, null, 'ops_feedback.log', true);
  • Jetzt wird das Feedback immer in diese Datei geschrieben: var/log/ops_feedback.log