Zahlungsmodul - Payment Link falsch

#1
Hallo zusammen,

ich habe heute das Zahlungsmodul gekauft und spiel gerade ein wenig damit rum.
Getestet wird alles mit Paypal-Sandbox (falls das wichtig sein sollte :p)

Mir ist aufgefallen, dass die Variable {INVOICE_PAY_LINK} falsch ersetzt wird.
Ich sichere mein Webinterface z.B. per https:// und Port am ende ab. Die URL die aber bei {INVOICE_PAY_LINK} steht ist http:// und der Port.
So erhalte ich leider immer folgenden Fehler:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> Reason: You're speaking plain HTTP to an SSL-enabled server port.<br /> Instead use the HTTPS scheme to access this URL, please.<br />


Kann man das irgendwo ändern?

Das gleiche ist bei erfolgter Zahlung.
Auf der PayPal-Seite steht dann:
Der Betrag von €XX EUR wird dem Händler sofort gutgeschrieben.
Hier ist Ihre Belegnummer für diese Zahlung: 2MK604673E500023J.
Alle Details zu dieser Transaktion erhalten Sie von uns in Kürze auch per E-Mail an paypal_XXXXXX_pre@XXXX.de

Zurück zu XXXX Test Store

Der Link "Zurück zu XXX Test Store" geht aber auch auf http und nicht https://
 
#2
Noch ein Fehler

Hallo,

leider funktioniert auch das proxy-Script, welches im Handbuch beschrieben ist, nicht richtig:

[Tue May 29 21:42:28 2012] [warn] [client 173.0.82.126] mod_fcgid: stderr: PHP Notice: Undefined variable: fields_string in /var/www/clients/client1/web1/web/proxy.php on line 7


Die Zeile die den Fehler verursacht:
$fields_string .= $key . '=' . $value . '&';
 
#3
Bugbix

Hallo Till oder jemand anderes vom Team ;)

Der Fehler mit dem falschen Link konnte ich schon beheben.
Ich habe dazu die Funktion get_ispconfig_url in /usr/local/ispconfig/interface/lib/classes/functions.inc.php geändert.

Vorher:
$url = (stristr($_SERVER['SERVER_PROTOCOL'],'HTTPS'))?'https':'http';

Nachher:
$url = (stristr($_SERVER['HTTPS'],'on'))?'https':'http';


Anscheinend wird, trotz HTTPS Verschlüsselung das HTTP/1.1 Protocol verwendet, weshalb es auch komische Fehlermeldungen vom Apache kommen wenn man die Seite, die eig. HTTPS Verschlüsselt ist per HTTP aufrufen möchte.
Die neue Funktion schaut nun nach, ob HTTPS genutzt wird und wählt dann https als Protokoll.
 
#4
Everything done!

So,

nach einigem debugging wurde alles behoben.
Es mussten ein paar Funktionen geändert werden, dass die richtigen URLs verwendet werden.
Außerdem musste das proxy-php-Script angepasst werden, da ein selbst signiertes Zertifikat für ISPConfig genutzt wurde.
Es muss noch eine curl-option ( curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); ) hinzugefügt werden, da die bezahlte Rechnung sonst nicht als bezahlt markiert wird.
 

Till

Administrator
#5
Danke für die Hinweise!

Die URL zur Bezahlseite lässt sich im Zahlungsmodul unter Globale Einstellungen > Zahlungsanbieter > Link zur Bezahlseite einstellen, Du musst dafür also keinen Code ändern.

Bei mir erkennt der übrigens die SSL Verschlüsselung richtig mit dem Code wie er im Zahlungsmodul verwendet wird. Liegt vielleicht an der Apache Version.

Das mit der Curl Option werde ich als Hinweis im Handbuch aufnehmen, das problem hatte bislang niemand, vermutlich nehmen die meisten signierte SSL zertifikate für Zahlungsvorgänge. Die gibt es ja kostenlos bei startssl.
 
#6
Danke für die Hinweise!

Die URL zur Bezahlseite lässt sich im Zahlungsmodul unter Globale Einstellungen > Zahlungsanbieter > Link zur Bezahlseite einstellen, Du musst dafür also keinen Code ändern.

Bei mir erkennt der übrigens die SSL Verschlüsselung richtig mit dem Code wie er im Zahlungsmodul verwendet wird. Liegt vielleicht an der Apache Version.

Das mit der Curl Option werde ich als Hinweis im Handbuch aufnehmen, das problem hatte bislang niemand, vermutlich nehmen die meisten signierte SSL zertifikate für Zahlungsvorgänge. Die gibt es ja kostenlos bei startssl.
Hey,

"vermutlich nehmen die meisten signierte SSL zertifikate für Zahlungsvorgänge" Das selfsigned-certificate ist ja nicht für den Zahlungsvorgang sondern für das Webinterface.
Der Proxy schickt die Daten von PayPal an das ipn.php-Script im Webinterface, dieses Interface ist aber durch ein Zertifikat verschlüsselt.
Der eigentliche Zahlvorgang wird seitens PayPal verschlüsselt - hat also nichts mit ISPConfig zu tun :)

Mir ist aber gerade noch ein Fehler aufgefallen:
Ich habe bei einer Artikelbeschreibung ein etwas längeren Text - die Tabelle passt sich jedoch nicht in der Höhe an. Ich sehe zwar, dass es eine Funktion für diese gibt - konnte aber beim schnellen rüberblicken nicht genau erkennen warum diese die $nb-Variable nicht erhöht.
 

Till

Administrator
#7
Der Proxy schickt die Daten von PayPal an das ipn.php-Script im Webinterface, dieses Interface ist aber durch ein Zertifikat verschlüsselt.
Der eigentliche Zahlvorgang wird seitens PayPal verschlüsselt - hat also nichts mit ISPConfig zu tun
Ich meine auch ein signiertes SSL Cert für das ISPConfig Interface. Siehe:

Securing Your ISPConfig 3 Installation With A Free Class1 SSL Certificate From StartSSL | HowtoForge - Linux Howtos and Tutorials

Mir ist aber gerade noch ein Fehler aufgefallen:
Ich habe bei einer Artikelbeschreibung ein etwas längeren Text - die Tabelle passt sich jedoch nicht in der Höhe an. Ich sehe zwar, dass es eine Funktion für diese gibt - konnte aber beim schnellen rüberblicken nicht genau erkennen warum diese die $nb-Variable nicht erhöht.
Du meinst Tabellenhöhe im PDF? Die passt sich bei mir der Artikelbeschreibung an, ich hab meisten so zwischen 2 und 20 Zeilen pro Artikel. Welches PDF Template nimmst Du denn?
 
#8
Ich meine auch ein signiertes SSL Cert für das ISPConfig Interface. Siehe:

Securing Your ISPConfig 3 Installation With A Free Class1 SSL Certificate From StartSSL | HowtoForge - Linux Howtos and Tutorials



Du meinst Tabellenhöhe im PDF? Die passt sich bei mir der Artikelbeschreibung an, ich hab meisten so zwischen 2 und 20 Zeilen pro Artikel. Welches PDF Template nimmst Du denn?
das default_no_vat und die Artikelbeschreibung ist die gleiche wie im Handbuch - Text ist 2 Zeilen lang, Tabelle bleibt aber einzeilig - leider :(
 

Till

Administrator
#9
Stimmt, hab es gerade mal probiert. Ich nutze meistens nur die Templates mit VAT. Ich scahu mir das mal an, potse es bitte mal im Bugtracker des Zahlungsmoduls.
 

Till

Administrator
#11
Ich hab das Problem im PDFTemplate gefunden, die Funktion zum zählen der Zeilen kommt mit den neuerdings verwendeten UTF8 kompatiblen Font Dateien von tfpdf nicht klar. Ich schicke Dir gleich mal das geänderte Template per Email.
 
#12
Könntest Du mir das bitte auch schicken, ich habe das gleiche Problem.

Wobei ich, um ehrlich zu sein, bis jetzt auch nicht rausgefunden habe, wie ich überhaupt Rechnungs-Templates auswähle bzw. bearbeite. hab es auch in der Doku nicht gefunden??:confused:
 

Till

Administrator
#13
Könntest Du mir das bitte auch schicken, ich habe das gleiche Problem.
Klar. Schick mir bitte eine Email an die Adresse von der Du die Lizenz bekommen hast.

Wobei ich, um ehrlich zu sein, bis jetzt auch nicht rausgefunden habe, wie ich überhaupt Rechnungs-Templates auswähle bzw. bearbeite. hab es auch in der Doku nicht gefunden??
Das geht über die Firmeneinstellungen (Billing > Global settings > Company).
 

Werbung

Top