PayPal Integrierung…
Leider ist es mir nach mehreren Stunden und Kontakten zu PayPal immer noch nicht gelungen eine Zahlung von PayPal mittels der „sofortige Zahlungsbestätigung“ und der „Übertragung von Zahlungsdaten“ zu bestätigen.
Anscheinend gibt es da einen Trick, den ich nicht kenne und momentan auch nicht herausfinden kann. Aus diesem Grund möchte ich hiermit einen Auftrag vergeben bei dem folgendes zu realisieren ist.
1. ein PayPal Sendebutton bei dem der Gesamtbetrag und die Betreffzeile übermittelt wird, sodass diese der Kunde bei der Bezahlung nicht mehr eingeben muss/ kann. Es sollte auch eine Identitäts-Token übermittelt werden, damit auch Kunden per PayPal zahlen können die sich nicht bei PayPal registrieren wollen. Dann sollte ebenfalls die Variable für die sofortige Zahlungsbestätigung, die für die Canceled Seite und die Variable für die Thanks Seite im Button integriert sein.
2. das unten angefügte PHP Script von PayPal muss so angelegt sein, dass es alle Zahlungsübermittlungen mitloggt und die Zahlung bestätigt. Selbstverständnis sollte bei der Zahlungsbestätigung ein „VERIFIED“ übermittelt werden.
Ich habe das Script bereits mit einer LOG Funktion versehen, ansonsten ist alles gleich wie bei PayPal. Für alle die sich nicht damit auskennen oder die nicht wissen was ich meine, hier noch ein paar klärende Links von PayPal:
1. https://www.paypal.com/de/ipn
2. https://www.paypal.com/IntegrationCenter/ic_ipn.html
Das Ganze ist ziemlich dringend. Also bitte noch heute ein Angebot dafür abgeben. Wenn Fragen sind, einfach eine PM an mich senden.
Hier nun das PHP Script:
Leider ist es mir nach mehreren Stunden und Kontakten zu PayPal immer noch nicht gelungen eine Zahlung von PayPal mittels der „sofortige Zahlungsbestätigung“ und der „Übertragung von Zahlungsdaten“ zu bestätigen.
Anscheinend gibt es da einen Trick, den ich nicht kenne und momentan auch nicht herausfinden kann. Aus diesem Grund möchte ich hiermit einen Auftrag vergeben bei dem folgendes zu realisieren ist.
1. ein PayPal Sendebutton bei dem der Gesamtbetrag und die Betreffzeile übermittelt wird, sodass diese der Kunde bei der Bezahlung nicht mehr eingeben muss/ kann. Es sollte auch eine Identitäts-Token übermittelt werden, damit auch Kunden per PayPal zahlen können die sich nicht bei PayPal registrieren wollen. Dann sollte ebenfalls die Variable für die sofortige Zahlungsbestätigung, die für die Canceled Seite und die Variable für die Thanks Seite im Button integriert sein.
2. das unten angefügte PHP Script von PayPal muss so angelegt sein, dass es alle Zahlungsübermittlungen mitloggt und die Zahlung bestätigt. Selbstverständnis sollte bei der Zahlungsbestätigung ein „VERIFIED“ übermittelt werden.
Ich habe das Script bereits mit einer LOG Funktion versehen, ansonsten ist alles gleich wie bei PayPal. Für alle die sich nicht damit auskennen oder die nicht wissen was ich meine, hier noch ein paar klärende Links von PayPal:
1. https://www.paypal.com/de/ipn
2. https://www.paypal.com/IntegrationCenter/ic_ipn.html
Das Ganze ist ziemlich dringend. Also bitte noch heute ein Angebot dafür abgeben. Wenn Fragen sind, einfach eine PM an mich senden.
Hier nun das PHP Script:
PHP-Code:
<?php
// 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.sandbox.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'];
$datum = date("Y-m-d H:i:s");
$paypal_log = $datum . ":\t" . $item_name . "\t" . $item_number . "\t" .
$payment_status . "\t" . $payment_amount . "\t" .
$payment_currency . "\t" . $txn_id . "\t" . $receiver_email . "\t" .
$payer_email . "\t";
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
$paypal_log .= "VERIFIED\r\n";
print "VERIFIED<br>";
}
else if (strcmp ($res, "INVALID") == 0) {
// log for manual investigation
$paypal_log .= "INVALID\r\n";
print "INVALID<br>";
}
}
fclose ($fp);
}
$paypal_log .= $header . $req . "\r\n";
$fp = fopen ("paypal_log.txt","r");
$str = fread ($fp, filesize("paypal_log.txt"));
fclose($fp);
$paypal_log .= $str;
$fp = fopen ("paypal_log.txt","w");
fwrite($fp,$paypal_log,3000000);
fclose($fp);
?>