Menü

Login

Aktuelle Version

Forum > PayPal Zahlscript *

DOTLAN Intranet / Portal >> Konfiguration, Erweiterungen, Addons > PayPal Zahlscript
Antwort erstellen
Autor Thema: PayPal Zahlscript
<< prevSeite: 1 | 2 | 3
Sorehead
07.12.2011 um 20:57 QuoteProfileSend PM
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.


 

Dateianhang:    payment_gsh.zip    343 KB
|LR|mag!c
08.12.2011 um 19:51 QuoteProfileSend PM
NEW

Clan: LANrena
Postings: 48

magic
@Sorehead:
Hast du noch die passende DB dazu? Ich finds in der Zip nicht

Gruss mag!c
 
Thanquol
08.12.2011 um 21:22 QuoteProfileSend PM
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
09.12.2011 um 19:05 QuoteProfileSend PM
NEW

Clan: LANrena
Postings: 48

magic
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
09.12.2011 um 21:02 QuoteProfileSend PM
NEW

Clan: Gamesession Hannover
Postings: 348

Ja kann ich machen. Aber erst morgen. Bin heute unterwegs.
 
Sorehead
11.12.2011 um 22:08 QuoteProfileSend PM
NEW

Clan: Gamesession Hannover
Postings: 348

So, hier das SQL File
 

Dateianhang:    payment_gsh.sql    2 KB
Bigga
12.08.2012 um 09:06 QuoteProfileSend PM
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
13.08.2012 um 20:35 QuoteProfileSend PM
NEW

Clan: Gamesession Hannover
Postings: 348

Wäre für uns auch interessant.
@Thanquol: Magste da noch mal was coden?
 
Thanquol
16.08.2012 um 20:12 QuoteProfileSend PM
NEW

Clan: Gamers' Congress
Postings: 123

hmm, hätte was

Bin nur bisEnde Oktober bezüglich Zeit ausgebucht
 
Sorehead
09.09.2012 um 19:47 QuoteProfileSend PM
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
11.09.2012 um 23:10 QuoteProfileSend PM
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
21.09.2012 um 22:16 QuoteProfileSend PM
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
29.09.2012 um 20:32 QuoteProfileSend PM
NEW

Clan: Gamers' Congress
Postings: 123

ich bin leider noch nicht dazugekommen
 
Sorehead
30.09.2012 um 12:45 QuoteProfileSend PM
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
15.11.2012 um 17:52 QuoteProfileSend PM
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
07.01.2013 um 20:48 QuoteProfileSend PM
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:
Code:

fclose($fp);

 
Thanquol
07.01.2013 um 21:50 QuoteProfileSend PM
NEW

Clan: Gamers' Congress
Postings: 123

Saucool :-)

Ich bin leider nicht dazugekommen....
 
Sorehead
08.01.2013 um 06:08 QuoteProfileSend PM
NEW

Clan: Gamesession Hannover
Postings: 348

Das habe ich gemerkt
 
nade
26.01.2016 um 05:43 QuoteProfileSend PM
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
30.01.2016 um 22:06 QuoteProfileSend PM
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
02.01.2017 um 13:33 QuoteProfileSend PM
NEW

Clan: elektrosmog-lan.de
Postings: 3

wie mach ich das bei der version 1.5.0 ??
 
Iang
22.09.2017 um 11:20 QuoteProfileSend PM
NEW

Clan: Kein Clan
Postings: 5

Hallo zusammen, wird das Script noch weiterentwickelt/Betreut
 
Thanquol
01.05.2018 um 12:54 QuoteProfileSend PM
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
11.05.2018 um 23:31 QuoteProfileSend PM

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
06.08.2018 um 21:24 QuoteProfileSend PM
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]
 

Dateianhang:    PayPal Addon.zip    43 KB
<< prevSeite: 1 | 2 | 3
[ Antwort erstellen ]