Autor |
Thema: PayPal Zahlscript |
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
Thanquol hat mich gebeten eine fehlerkorrigierte Version hochzuladen..
Hier ist meine angepasste. Da sind nicht mehr alle Sachen der Ursprungsversion drin, aber so passt es für uns.
Die Korrektur betraf übrigens das Auslesen des paypal-Bezahlstatus.
Wenn die Zahlung offen oder storniert war, wurde bisher der Platz trotzdem freigeschaltet. Das ist bei uns nun raus.
|
| |LR|mag!c |
|
|
NEW
Clan: LANrena
Postings: 48
|
@Sorehead:
Hast du noch die passende DB dazu? Ich finds in der Zip nicht
Gruss mag!c
|
| Thanquol |
|
|
NEW
Clan: Gamers' Congress
Postings: 123
|
Siehe meinen Post vom 26.04.2011 um 15:37
da is die DB mit drin
|
| |LR|mag!c |
|
|
NEW
Clan: LANrena
Postings: 48
|
Thanquol hat folgendes geschrieben: | Siehe meinen Post vom 26.04.2011 um 15:37
da is die DB mit drin |
Die wirft bei mir Fehler mit der Version von Sorehead.
Hab mal in den Code geschaut, die Tables heissen anders.
@Sorehead: Könntest du ein komplettes Paket bereitstellen?
Gruss mag!c
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
Ja kann ich machen. Aber erst morgen. Bin heute unterwegs.
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
So, hier das SQL File
|
| Bigga |
|
|
NEW
Clan: KST-LAN
Postings: 418
|
Gibt es die Möglichkeit, dass User, die den Eintritt schon bezahlt haben, im Nachhinein noch Optionen buchen und bezahlen können?
In unserem Fall soll man das Frühstücksangebot nachordern können.
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
Wäre für uns auch interessant.
@Thanquol: Magste da noch mal was coden?
|
| Thanquol |
|
|
NEW
Clan: Gamers' Congress
Postings: 123
|
hmm, hätte was
Bin nur bisEnde Oktober bezüglich Zeit ausgebucht
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
@Thanquol: Ich denke ihr werdet auch eine entsprechende Mail von Paypal bekommen haben.
paypal hat folgendes geschrieben: |
Guten Tag, Sascha Meyer!
In einem Forumsbeitrag vom 18. Oktober 2011, haben wir angekündigt, dass wir die Anzahl der IP-Adressen für www.paypal.com erweitern, um die Leistung, Skalierbarkeit und Verfügbarkeit unserer Website zu verbessern. Als Teil dieses Übergangs planten wir die Unterstützung des HTTP 1.0-Protokolls ab 1. Februar 2013 einzustellen.
Wir möchten Sie darauf hinweisen, dass diese Änderung für manche Händler die IPN-Verifizierung (sofortige Zahlungsbestätigung) und das PDT-Verfahren (Zahlungsdatenübertragung) beeinträchtigt. Dies geschieht, wenn für die IPN- bzw. PDT-Skripte das HTTP 1.0-Protokoll verwendet wird, das nicht den Header "Host: www.paypal.com" im Request beinhaltet.
Was bedeutet das im Detail?
Alle eingehenden Anfragen benötigen ab dem 1. Februar 2013 einen "Host"-Header, der den HTTP 1.1-Spezifikationen entspricht. Dieser Header wurde für HTTP 1.0 nicht benötigt. IPN- und PDT-Skripte, die nach dem 1. Februar 2013 HTTP 1.0 verwenden, werden möglicherweise die Fehlermeldung "HTTP/1.0 400 Bad Request" erhalten. Aus diesem Grund können IPN-Benachrichtigungen nicht erfolgreich bestätigt werden oder PDT-Skripte können keine Transaktionsinformationen abrufen.
Erforderliche Maßnahmen vor dem 1. Februar 2013
Händler müssen Ihre IPN- und/oder PDT-Skripte aktualisieren, HTTP 1.1 verwenden und den "Host"-Header in dem IPN-Verifizierungsskript einfügen.
Beispiel:
ASP
//Set values for the request back
req.Method="POST";
req.Host="www.paypal.com";
req.ContentType="application/x-www-form-urlencoded";
Perl
$req=HTTP::Request->new('POST', 'https://www.paypal.com/cgi-bin/webscr');
$req->content_type('application/x-www-form-urlencoded');
$req->header(Host=> 'www.paypal.com');
PHP
// post back to PayPal system to validate
$header .="POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .="Content-Type: application/x-www-form-urlencoded\r\n";
$header .="Host: www.paypal.comrn";
Java
HttpsURLConnection uc=(HttpsURLConnection) u.openConnection();
uc.setDoOutput(true);
uc.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
uc.setRequestProperty("Host", "www.paypal.com");
Die PayPal-Sandbox wurde konfiguriert, um alle HTTP-Anfragen ohne "Host"-Header mit dem Fehlercode "HTTP 400 Error" abzulehnen. Händler können die Sandbox-Umgebung verwenden, um die Änderung der IPN- und PDT-Skripte zu testen.
Mehr Informationen zu PDT und IPN finden Sie unter http://www.paypal.com/pdt und http://www.paypal.com/ipn. Weitere Informationen zu dieser Änderung finden Sie unter https://www.paypal.com/mts.
Viele Grüße,
Ihr Team von PayPal
|
Ich habe das mal so angepasst, dass folgendes im Header steht (inder paypal_ipn_php):
[code}
$header .="POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .="Content-Type: application/x-www-form-urlencoded\r\n";
$header .="Host: www.paypal.comrn";
[/code]
Leider wurden dann keine Zahlungen mehr als gültig erkannt.
Die Zahlung ist korrekt abgeschlossen und im log stehen auch die korrekten Informationen drin:
Code: |
payment_status = Completed
payer_status = verified
|
Hast du ne Idee woran das liegt?
Ich habe jetzt erstmal das Protokoll wieder auf HTTP 1.0 zurück gesetzt. Dann geht es erstmal wieder.
|
| Thanquol |
|
|
NEW
Clan: Gamers' Congress
Postings: 123
|
bääh
nein hab dide Mail nicht bekommen oO
Ich hab vermutlich in 2 Wochen ein Wochenende frei.. dann schau ichs mir an
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
So, Paypal hat mal wieder geschrieben. Leider hilft auch das nicht weiter...
Ich bin also auf Thanquol angewiesen.
Zitat: |
Erforderliche Massnahmen: Aktualisieren Sie Ihre IPN/PDT-Skripte
Guten Tag Sascha Meyer,
dies ist eine weiterführende Benachrichtigung zu der Email vom 6.September 2012. Wir mussten leider feststellen, dass einige Händler Probleme mit dem updaten/erweitern des IPN Skriptes auf HTTP 1.1 hatten. Diese sind entweder „hängen“ geblieben oder es hat sehr lange gedauert einen „VERIFIED“ zu erhalten. In dieser Email finden Sie eine Anleitung, wie dieses Problem, mit der Verwendung von „Connection:close“ header im HTTP Request, behoben werden kann.
In einem Forumsbeitrag vom 18. Oktober 2011, haben wir angekündigt, dass wir die Anzahl der IP-Adressen für www.paypal.com erweitern, um die Leistung, Skalierbarkeit und Verfügbarkeit unserer Website zu verbessern. Als Teil dieses Übergangs planten wir die Unterstützung des HTTP 1.0-Protokolls ab 1. Februar 2013 einzustellen.
Wir möchten Sie darauf hinweisen, dass diese Änderung für manche Händler die IPN-Verifizierung (sofortige Zahlungsbestätigung) und das PDT-Verfahren (Zahlungsdatenübertragung) beeinträchtigt. Dies geschieht, wenn für die IPN- bzw. PDT-Skripte das HTTP 1.0-Protokoll verwendet wird, das nicht den Header "Host: www.paypal.com" im Request beinhaltet.
Was bedeutet das im Detail?
Alle eingehenden Anfragen benötigen ab dem 1. Februar 2013 einen "Host"-Header, der den HTTP 1.1-Spezifikationen entspricht. Dieser Header wurde für HTTP 1.0 nicht benötigt. IPN- und PDT-Skripte, die nach dem 1. Februar 2013 HTTP 1.0 verwenden, werden möglicherweise die Fehlermeldung "HTTP/1.0 400 Bad Request" erhalten. Aus diesem Grund können IPN-Benachrichtigungen nicht erfolgreich bestätigt werden oder PDT-Skripte können keine Transaktionsinformationen abrufen.
Erforderliche Maßnahmen vor dem 1. Februar 2013
Händler müssen Ihre IPN- und/oder PDT-Skripte aktualisieren, HTTP 1.1 verwenden und den " Host: www.paypal.com" und "Connection: close" Header in dem IPN-Verifizierungsskript einfügen.
Einen Beispiel finden Sie hier: https://www.x.com/node/320404
Die PayPal-Sandbox wurde konfiguriert, um alle HTTP-Anfragen ohne "Host"-Header mit dem Fehlercode "HTTP 400 Error" abzulehnen. Händler können die Sandbox-Umgebung verwenden, um die Änderung der IPN- und PDT-Skripte zu testen.
Mehr Informationen zu PDT und IPN finden Sie unter https://www.paypal.com/pdt und https://www.paypal.com/ipn. Weitere Informationen zu dieser Änderung finden Sie unter https://www.paypal.com/mts.
Mit freundlichen Grüßen,
Ihr Team von PayPal
|
|
| Thanquol |
|
|
NEW
Clan: Gamers' Congress
Postings: 123
|
ich bin leider noch nicht dazugekommen
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
Naja, ein paar Monate geht es ja auch noch so
Aber wäre schön, wenn du da dieses Jahr noch mal drüber gucken könntest.
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
Es gab heute mal wieder eine Erinnerung von Paypal.
@Thanquol: Wann hast du denn mal Zeit zu gucken?
Ich kriege das irgendwie nicht hin..
Dies ist ein Beispiel von paypal: https://www.x.com/node/320404
Klappen tut es trotzdem nicht
[Editiert von Sorehead am 15.Nov.2012 um 17:53]
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
So, wir haben das heute selber hinbekommen.
Vielen Dank noch mal an DanRokZz aus unserem Team für die problemlose Umsetzung.
Hier die Änderungen, die an der paypal_ipn.php durchgeführt werden müssen:
Anpassung am "Anfang" der Datei bezüglich des Headers:
Code: |
// setup headers for request to paypal
$header .= "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Host: www.paypal.comrn";
$header .= "Connection: close\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
|
Anpssung an der Verarbeitungsschleife:
Code: |
while (!feof($fp)) { //while not end of file
$res = fgets($fp, 1024); //get response
$res = trim($res); //NEW & IMPORTANT
|
Und ganz am Ende nach der while-Schleife:
|
| Thanquol |
|
|
NEW
Clan: Gamers' Congress
Postings: 123
|
Saucool :-)
Ich bin leider nicht dazugekommen....
|
| Sorehead |
|
|
NEW
Clan: Gamesession Hannover
Postings: 348
|
Das habe ich gemerkt
|
| nade |
|
|
NEW
Clan: SprottenLAN
Postings: 2
|
Hey, sagmtal beschäftigt sich noch jemand mit dem script?
Ich bin leider überhaupt kein Phpler...
Bekomme nach der integration folgende errors geworfen.
Zitat: |
[Tue Jan 26 05:36:00 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined index: do in /var/www/admin/gc_payment/index.php on line 644
[Tue Jan 26 05:36:00 2016] [error] [client 31.18.224.xxx] PHP Fatal error: Class 'htmlout' not found in /var/www/admin/gc_payment/index.php on line 707
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined index: step in /var/www/gc_payment/index.php on line 19
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined index: paypal_users in /var/www/gc_payment/index.php on line 22
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined index: uid in /var/www/gc_payment/index.php on line 25
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined variable: paypal_users_hiddenhtml in /var/www/gc_payment/index.php on line 274
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined variable: myOutput in /var/www/gc_payment/index.php on line 276
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Fatal error: Class 'htmlout' not found in /var/www/gc_payment/index.php on line 361
|
jemand eine Idee, wie ich das ganze lösen kann?
|
| Thanquol |
|
|
NEW
Clan: Gamers' Congress
Postings: 123
|
nade hat folgendes geschrieben: | Hey, sagmtal beschäftigt sich noch jemand mit dem script?
Ich bin leider überhaupt kein Phpler...
Bekomme nach der integration folgende errors geworfen.
Zitat: |
[Tue Jan 26 05:36:00 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined index: do in /var/www/admin/gc_payment/index.php on line 644
[Tue Jan 26 05:36:00 2016] [error] [client 31.18.224.xxx] PHP Fatal error: Class 'htmlout' not found in /var/www/admin/gc_payment/index.php on line 707
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined index: step in /var/www/gc_payment/index.php on line 19
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined index: paypal_users in /var/www/gc_payment/index.php on line 22
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined index: uid in /var/www/gc_payment/index.php on line 25
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined variable: paypal_users_hiddenhtml in /var/www/gc_payment/index.php on line 274
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Notice: Undefined variable: myOutput in /var/www/gc_payment/index.php on line 276
[Tue Jan 26 05:36:10 2016] [error] [client 31.18.224.xxx] PHP Fatal error: Class 'htmlout' not found in /var/www/gc_payment/index.php on line 361
|
jemand eine Idee, wie ich das ganze lösen kann? |
Das script ist noch für die 1.2.8er gebaut.
Beim 1.4.x musst du die html-klasse anders ansprechen.
z.B. $myOutput = html::message("Rechnungsnummer: " . $id, $myOutput);
dann klappt das wieder
|
| cereal |
|
|
NEW
Clan: elektrosmog-lan.de
Postings: 3
|
wie mach ich das bei der version 1.5.0 ??
|
| Iang |
|
|
NEW
Clan: Kein Clan
Postings: 5
|
Hallo zusammen, wird das Script noch weiterentwickelt/Betreut
|
| Thanquol |
|
|
NEW
Clan: Gamers' Congress
Postings: 123
|
Update auf 1.5.0 steht bei uns auch bald an, dann muss ich mir das script anschauen was ich ändern muss.
|
| Griffon |
|
|
NEW
Clan: dotlan.net
Postings: 1252
|
Thanquol hat folgendes geschrieben: | Update auf 1.5.0 steht bei uns auch bald an, dann muss ich mir das script anschauen was ich ändern muss. |
Geh direkt auf Master. 1.5. ist quasi schon wieder alt *G*
|
| Thanquol |
|
|
NEW
Clan: Gamers' Congress
Postings: 123
|
eigentlich ist der Code so schlecht, dass ich den gar nicht veröffentlichen dürfte...
aber er funktioniert.
einbinden z.B. in global.php
- gc_includes.php
- HelperFuncs.php
in der gc_includes.php die Variablen am Anfang definieren
in der paymentConstants.php die Bankdaten + Paypal Adresse hinterlegen
solange $gcConfig['debugMode'] = TRUE; auf True steht kommuniziert das SCript mit der Sandbox-Umgebung von Paypal zum Testen.
Lauffähig auf der aktuellen MASTER
[Editiert von Thanquol am 06.Aug.2018 um 21:25]
|
|
[ Antwort erstellen ] |