IPN envoyé OK via sandbox mais script non executé Bonjour à tous, cela fait 2 mois que je m'arrache les cheveux parce que l'IPN ne veut pas fonctionner sur mon site même après avoir réécrit mon code en suivant le tuto Tutorial_Paypal_php_MySQL_NIP.doc de PRSTSCcolonDTL mais en vain. Sur la sandbox, on me dit que mes IPN sont envoyé ok (HTTP 200) mais mon script n'execute rien (que ce soit en mode SSL ou non) $req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value)
{
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
$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);
// liste des parametres reçu par paypal, exemple :
$payment_status = $_POST['payment_status']; // Si Completed : tout est OK
$payer_email = $_POST['payer_email']; // mail de l'acheteur
$first_name = $_POST['first_name']; // prénom de l'acheteur
$last_name = $_POST['last_name']; // nom de l'acheteur
$txn_type = $_POST['txn_type']; // id paypal de transaction
if (!$fp) {
// HTTP ERROR
echo "%NIP-F-SOCKOPEN, HTTP error " . $errno . " " . $errstr;
exit;
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// CODE envoi email + maj SQL completed
}
else if (strcmp ($res, "INVALID") == 0) {
// CODE envoi email + maj SQL cancelled
}
}
fclose ($fp);
}
?> Donc, je pense que Paypal accède bien à mon script IPN mais rien ne s'execute à l'interéieur et là je sèche carrément. Si vous pouviez m'aider, çà me sauverai. Merci d'avance.
... View more