Ich verwende das Zahlungsmodul PayOne und habe in der PayOne-Verwaltung (PMI) als Transaktions-URL einen Link zur postsale.php angegeben (http://meineseite.de/system/modules/...e/postsale.php)
Wenn ich eine Bestellung im Testsystem ausführe, dann wird eigentlich alles korrekt durchgeführt... heißt, ich klicke auf "kaufen", gelange zur PayOne-Frontend-Schnittstelle, gebe dort z.B. meine Kreditkarten ein, klicke auf "zahlen" und gelange wieder zu Contao auf die success-Seite... und die Bestellung wird auch im Backend korrekt verbucht.
Im PMI von PayOne kann ich mir die letzten Transaktionen ansehen. Dort sehe ich auch, welche Daten von PayOne an meinen Server geschickt wurden und was PayOne als Antwort erhält. Als Antwort kommt aber von postsale.php folgender Fehler:
PHP-Code:
<BR><STRONG>WARNING</STRONG>: STRLEN() EXPECTS PARAMETER 1 TO BE STRING, ARRAY GIVEN IN <STRONG>SYSTEM/MODULES/ISOTOPE/POSTSALE.PHP& lt;/STRONG> ON LINE <STRONG>76</STRONG> <PRE STYLE="MARGIN:11PX 0 0"> #0 [INTERNAL FUNCTION]: __ERROR(2, 'STRLEN() EXPECT...', '/HOMEPAGES/2/D1...', 76, ARRAY) #1 SYSTEM/MODULES/ISOTOPE/POSTSALE.PHP(76): STRLEN(ARRAY) #2 SYSTEM/MODULES/ISOTOPE/POSTSALE.PHP(210): ISOTOPEPOSTSALE->__CONSTRUCT() #3 {MAIN} </PRE>TSOK
Das bezieht sich auf folgende Zeile in postsale.php
PHP-Code:
$this->setModuleId(strlen(\Input::post('id')) ? \Input::post('id') : \Input::get('id'));
PayOne erwartet als Antwort aber nur "TSOK" ohne irgendwelche anderen Zeichen davor... solange wird die Transaktion auch nicht als "bezahlt" markiert.
Weiß jemand, was setModuleId() macht bzw. wie ich den Fehler umgehen kann?
Eigentlich müsste PayOne wahrscheinlich sowas senden : .../postsale.php?mod=pay&id=1 wobei id die Zahlungsart-ID ist. Liegt es vielleicht nur am Testsystem?
Lesezeichen