Jump to content

<Gelöst> Erfolgslink Sofortüberweisung funktioniert nicht....


Recommended Posts

Hallo Kollegen,

 

ich habe hier die Sofortüberweisung eingerichtet und teste gerade...

 

Alles funktioniert, bis auf den Erfolgslink.

In den Serverlogs sehe ich, dass der angesprungen wird und dann via http302 auf die Shopstartseite zurückgeht. Die Bestellung ist korrekt im System erfasst, alles passt soweit, nur sieht mein Kunde ja so nicht, ob alles klar gegangen ist, ohne dass er jetzt extra in seinem Bestellverlauf nachsehen müsste.

 

Die angeforderte Datei .../modules/sofortbanking/confirmation.php existiert

 

Der Aufruf in dem Projekt bei Sofort:

..../modules/sofortbanking/confirmation.php?user_variable_1=-USER_VARIABLE_1-&hash=-USER_VARIABLE_1_HASH_PASS-

 

Wo setze ich denn jetzt am Besten an mit der Suche, was da schief läuft?

Edited by Claudiocool (see edit history)
Link to comment
Share on other sites

Hallo Claudio,

Du hast leider nur die relativen Pfade angegeben, die absoluten wären aber spannender. U.a. ob der Sprachprefix dort auch drinne stehen.

 

Sodann: Die letztliche Umleitung auf die Startseite hast Du wohl selbst irgendwo definiert. Wenn ich irgendeine eine Unsinn-URL aufrufe, dann sehe ich erst eine Fehlermeldung und nach ein paar Sekunden wird auf die Startseite umgeleitet. Das ist so nicht das Standardverhalten von PS.

 

Und zuletzt: Würde ich die confirmation.php mal anschauen auf etwaige Umleitungen darin. Und ggf. an den Begin ein Debugstatement in die Datenbank reinschreiben, da sähe man dann, in welchem Zeitpunkt der Ablauf auf den 302 läuft.

 PrestaShopLogger::addLog("Hier durchlaeuft Claudio gerade einen Debug-Versuch", 1, null);
Edited by Scully (see edit history)
Link to comment
Share on other sites

Du meinst, die Zeile oben die confirmation.php reinschreiben?

 

Das mit der Weiterleitung hat den Sinn gehabt, dass bei der Shopumstellung vom OSCommerce weg etliche Leite "gegen die Wand" gelaufen sind, weil die beispielsweise Produkte von mir in irgendwelchen Foren verlinkt hatten usw.

 

Ich weiß leider nicht mehr, wo mein ehemaliger Mitarbeiter damals die Pause eingebaut hatte, diese dient zur Info, dass die alten Links nicht mehr gehen.

Link to comment
Share on other sites

Also, erstmal sofort den ehemaligen Mitarbeiter zitieren!

Nein im ernst - ich weiss natürlich auch nicht, wo diese Umleitung herkommt. htaccess wäre immer eine Idee. Oder der 404 Controller eine andere.

Und meine Idee wäre, deine confirmation.php mit ein paar Debugs zu ergänzen, wenn man nicht offensichtlich den Grund für die Umleitung findet.

Wenn man dieses Statement am Anfang einer function als erstes reinschreibt, weiss man wenigstens, dass der Code an dieser Stelle auch ausgeführt wurde.

Link to comment
Share on other sites

Den ehemaligen Mitarbeiter kann ich vergessen....

1. Rede ich mit dem in diesem Leben kein Wort mehr

2. Würde sowieso nur kommen, dass er sich nicht mehr erinnert, was da gemacht wurde

 

Darum hätte mich da interessiert, wo man da zu suchen anfängt. An die HTACCES glaube ich jetzt eher mal nicht,

 

Das Modul wurde heute früh von mir installiert, allerdings fürchte ich, dass der fehler ausserhalb des Modules zu finden ist.

 

Okay, nochmal zurück zu der Datei:

Ich füge die Zeile oben ein und dann kriege ich irgendwo ein log, in dem ich sehe, was da passiert?

Wo finde ich dieses Log dann? Im Verzeichnis des Moduls?

Link to comment
Share on other sites

Aus der Error-Log hab ich noch was geholt.... (Die Links sind natürlich leer, weil es wieder gelöschte Testbestellungen waren)

 

PHP Warning:  Illegal offset type in isset or empty in ...../modules/sofortbanking/sofortbanking.php on line 474, referer: https://www.cdfgroup.de/onlineshop/de/bestellungsverlauf

 

PHP Warning:  Illegal offset type in isset or empty in ...../modules/sofortbanking/sofortbanking.php on line 474, referer: https://www.cdfgroup.de/onlineshop/de/order-detail?id_order=144

 

Das ist diese Zeile 474 (original von Sofortüberweisung):
$this->context->smarty->assign('sofort_link', (isset($links[$this->isSupportedLang()])

Edited by Claudiocool (see edit history)
Link to comment
Share on other sites

Claudio, Du solltest die Fehlermeldung(en) erstmal als Code formatieren. Dieser Button <> ist dein Freund hierfür.

Das Log mit der Anweisung die ich oben gepostet habe findest Du im Backoffice -> Erweiterte Einstellungen -> Log-Datein.

Link to comment
Share on other sites

Und dann noch zur Fehlermeldung:

 

isSupportedLang

 

Ist offenbar eine Methode, welche das Modul selbst bereitstellt. Das ist dumm, denn alle für Sprachen relevanten Methoden würde PrestaShop zur Verfügung stellen. Das alleine wäre aber noch nicht der wirkliche Fehler.

 

Die Meldung Illegal offset type in isset besagt, dass die Funktion isset nicht mit einem Array kompatibel ist. Daraus lernen wir, dass die Methode ein Array übergibt. Isset kann aber nur Variabeln, jedoch keine Array vertragen. Also, unverträgliche Datentypen im Modul. Möglich, dass man das Modul nicht korrekt auf Multisprachen getestet hat. Jedenfalls ist der Code syntaktisch falsch.

 

assign('sofort_link', (isset($links[$this->isSupportedLang()])

 

Farbig markiert: das Array, welches mit [ geöffnet und mit ] geschlossen wird.

Edited by Scully (see edit history)
Link to comment
Share on other sites

 

PHP Warning:  Illegal offset type in isset or empty in ...../modules/sofortbanking/sofortbanking.php on line 474, referer:

 

Claudio, das hatten wir  doch schon mehrfach hier im Forum. (Shopversion passt nicht zur Modulversion)

 

Du gehst so vor:

- momentanen Zustand sichern

- deaktivieren/deinstallieren des Sofortbanking-Moduls und anschliessend den Modulordner löschen.(FTP)

- bei Sofortüberweisung löscht du das Gateway Projekt und legst ein Classic-Projekt an.

- dann installierst du das Sofortbanking-Modul, daß ich dir angehängt habe und gibst alle Daten korrekt neu ein (durch den Wechsel vom Gateway zum Classic Projekt hast du auch eine andere Projekt-ID)

 

sofortbanking.zip

 

Ich habe erst gestern bei einem neuen Shop den wir gerade zusammenstricken das genau so gemacht(nachdem wir auch zunächst die o.a. Warnung hatten) - funktioniert einwandfrei.

 

Grüsse

Whiley

  • Like 1
Link to comment
Share on other sites

Hi Whiley,

 

das werde ich dann im Lauf des Tages mal machen, vorher noch eine Frage dazu:

 

Die momentan installierte Version wurde im Modulbereich automatisch installiert, d.h., es wurde rumgemeckert, dass ein Update für das Modul existiert, woraufhin ich dann den Button geklickt hatte und das Unglück seinen Lauf nahm. Vorher war, m. W. die 2.5.7, jetzt war es die 3.0.0

 

Das heisst also, es wird eine inkompatible Version im offiziellen Download geführt?

 

Grüße und danke, Claudio

Link to comment
Share on other sites

 

Das heisst also, es wird eine inkompatible Version im offiziellen Download geführt?

Wenn du so willst - ja, aber das hängt in dem Fall halt von deiner verwendeten Shopversion ab! Als das 3.0er Modul herauskam gab es ja jede Menge Topics dazu. Im git wird immer noch eine 2.5er Version zum Download angeboten.

https://github.com/PrestaShop/sofortbanking

Dort hole ich mir das Modul immer her.

 

Wenn du zuvor eine lauffähige Konstellation hattest kannst du möglicherweise auf ein Backup zurückgreifen, vielleicht besteht ja dann auch dein Classic-Project bei Sofortüberweisung noch.

 

Grüsse

Whiley

Link to comment
Share on other sites

okay, endlich mal Zeit gefunden, das Dingens zu installieren :)

 

Jetzt geht alles wieder, und ich hab auch gleich mal entdeckt, wie es sein konnte, dass der Kunde (das war der eigentliche Grund für meine Spielerei mit dem Modul) nicht zum Shop zurückkommt und die eigentliche Bestellung ins System gesetzt wurde:

 

In den Einstellungen bei Sofort (also nicht hier im Presta sondern im Dashboard des Anbieters) unbedingt die automatische Rückleitung aktivieren, sonst muss der Kunde den Zurück-Button anklicken, und wenn er das vergisst, ist die Bestellung im Nirvana

Edited by Claudiocool (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...