# PayPal - IPN Script



## proloser (4. Februar 2007)

Hallo,

ich hab auf der PayPal Website und Google schon einige Informationen gesucht und gefunden aber es reicht einfach nicht um das umzusetzen.

Ich suche ein Tutorial oder eurer Hilfe wie ich folgendes Script erstellen kann:

1. Ein Besucher kommt auf meine Webseite 
2. Er klickt auf den PayPal "Jetzt kaufen" Button
3. Er wird auf die PayPal Seite gelinkt
4. Er bezahlt den geforderten Preis
5. Die Kreditkarte (oder das PayPal Konto) wird gecheckt und anschließend belastet
6. Der Kunde erhält eine E-Mail mit dem eBook als anhang

Ich weiss damit es schon einige Themen über PayPal im Form gibt aber die konnten mir leider auch nicht weiterhelfen.

MfG proloser


----------



## Gumbo (4. Februar 2007)

Prinzipiell kümmert sich Paypal um die Punkte 4 und 5 und schickt nur den Erfolgsstatus zurück oder leitet den Käufer auf einen angegebenen URL um. Wie genau Paypal das handhabt, sollte allerdings bei Paypal zu erfahren sein.


----------



## proloser (4. Februar 2007)

Das ganze ist auch kein Problem der Link von PayPal einrichten usw aber wie erhält der Kunde das Bezahlte eBook an seine E-mail adresse?

EDIT:


Gumbo hat gesagt.:


> Wie genau Paypal das handhabt, sollte allerdings bei Paypal zu erfahren sein.



Eben nicht, eine Automatische Rückleitung auf meine Webseite ist zwar möglich aber wie bekomm ich die E-Mail Adresse und den Status damit der Kunde Bezahlt hat um das E-Mail mit dem anhang zu versenden?


----------



## Gumbo (4. Februar 2007)

Erst einmal müsstest du dich für ein Paket entscheiden, was Paypal dir also alles zur Verfügung stellen soll.


----------



## proloser (4. Februar 2007)

Wie gesagt ich hab mich schon ausführlich bei PayPal informiert, das wäre das Paket das ich brauche.

Link

Es wird zwar beschrieben wie die Verschiedenen Pakete eingebunden werden und damit nach der erfolgreichen Zahlung Automatisch auf die eigene Seite gelinkt wird jedoch nicht wie nach einer erfolgreichen Zahlung ein Script ausgeführt wird (das die E-Mail mit anhang versendet).


----------



## Gumbo (5. Februar 2007)

Ich bin gerade zufällig über einen Artikel über „phpPaypalPro“ gestolpert. Vielleicht hilft das dir weiter.


----------



## proloser (13. Februar 2007)

Leider komm ich damit nicht klar!

Ich hab mir sogar schon das eBook "PayPal-Zahlungen per Kreditkarte" gekauft aber leider wird eine sehr schlechte und unsichere Lösung beschrieben.


*Beschrieben wird:*
Die PayPal Automaische Rückleitung wird auf ein Ordner wie "bla/xyz/danke.html" geleitet, auf der "danke.html" sollte ein Link mit dem eBook hinterlegt werden "bla/xyz/ebook.pdf". Der Link zur "danke.html" ist natürlich schon beim PayPal Button mit rechter maustaste -> "Quelltext anzeigen" sichtbar!


Kennt noch jemand weitere sichere Methoden?


EDIT:

Mir würde es auch weiter helfen wenn mir jemand das Script von PayPal etwas genauer erklären könnte!


```
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}

// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);

// assign posted variables to local variables
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];

if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// check the payment_status is Completed
// check that txn_id has not been previously processed
// check that receiver_email is your Primary PayPal email
// check that payment_amount/payment_currency are correct
// process payment
}
else if (strcmp ($res, "INVALID") == 0) {
// log for manual investigation
}
}
fclose ($fp);
}
?>
```


----------



## dliste (12. Januar 2008)

Genau an diesen Punkt bin ich auch angekommen. Ich hab ein Konto bei PayPal, ich hab einen Datenbank-Shop geschrieben, aber bei IPN muss ich passen. Ich hab dieses IPN-Script, brauche jetzt aber Hilfe, die auch was kosten darf, um die Daten "Kunde hat bezahlt" zu empfangen, um PayPal die richtige Antwort zu geben, und um einen Download zu ermöglichen. Eigentlich benötige ich nur die ID (aus meiner Datenbank), die Kundendaten kann ich mir später bei Payal ansehen. Wer kann helfen oder kennt jemanden, der helfen kann?

Dietmar Liste, http://www.shop.jazzimage.de


----------

