Symptome:

  • Im Log erscheint "NCERROR" ... "50001111"
  • Im Zahlungsanbieter-Backoffice erscheint "unknown order/1/s/"

Lösung 1:

Prüfen Sie:

  • Länge des Passworts für den API-Benutzer (max. 16 Zeichen).
  • PSPID Groß-/Kleinschreibung.
  • Alle o.g. Werte müssen in Magento und dem Zahlungsanbieter-Backoffice identisch sein!

Lösung 2:

Stellen Sie sicher, dass die Parameter "ECOM_BILLTO..." und "ECOM_SHIPTO..." im Zahlungsanbieter-Backoffice nicht aktiviert sind. Diese können sonst evtl. zu Übertragungsproblemen führen. Siehe auch dieser FAQ-Artikel.


Lösung 3:

Bitte deaktivieren Sie die Option "Zusätzliche Parameter übertragen" in Magento unter "Zahlungsdienste". Diese Parameter werden nur für Betrugserkennung (Fraud Detection) benötigt.


Lösung 4:

In Einzelfällen kann es vorkommen, dass durch den Webserver die &-Zeichen bei der Übertragung an den Zahlungsanbieter durch & ersetzt werden. Dann können die Parameter vom Zahlungsanbieter nicht mehr korrekt verarbeitet werden.


Als Abhilfe kann in der Datei /app/code/community/Netresearch/OPS/Model/Api/Directlink.php etwa in Zeile 47 folgende Änderung vorgenommen werden.


Dieser Code

$http->write(Zend_Http_Client::POST, $url, '1.1', array(), http_build_query($params));

 

muss so abgeändert werden: 

$http->write(Zend_Http_Client::POST, $url, '1.1', array(), http_build_query($params, null, '&'));

Lösung 5:

Wenn das Problem nur dann auftritt, wenn Sonderzeichen vorkommen (z.B. Umlaute in Name oder Adresse), kann es an unterschiedlichem Encoding in Magento und beim Zahlungsanbieter liegen. Ändern Sie die Frontend Gateway URL von

https://secure.ogone.com/ncol/prod/orderstandard_utf8.asp


nach

https://secure.ogone.com/ncol/prod/orderstandard.asp