J'essaie de comprendre comment utiliser IPN de PayPal et j'ai couru dans un mur.PayPal IPN "FAIL"
Je souhaite qu'un acheteur soit redirigé vers une page de réussite après avoir effectué un achat, et je souhaite que cette page affiche les détails de leur transaction. Je choisis IPN au lieu de la PDT parce que je veux aussi faire d'autres choses en coulisses avec leurs données.
Quoi qu'il en soit, voici le code que j'utilise - je suis en train de tester en mode sandbox - mais il retourne "FAIL" à chaque fois.
$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);
if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// PAYMENT VALIDATED & VERIFIED!
echo "Validated!";
}
else if (strcmp ($res, "INVALID") == 0) {
// PAYMENT INVALID & INVESTIGATE MANUALY!
echo "Invalid!";
}
}
fclose ($fp);
}
Merci pour le conseil. Mon nom d'article est cependant entièrement en anglais, donc je ne pense pas que cela cause le problème. – HWD