Page IPN paypal appellée mais script non exécuté (sandbox)

MatLaur
Contributeur
Contributeur

Bonjour,

 

J'ai épluché et ré-épluché les nombreux posts de ce forum et d'autres, ainsi que des tutos et je n'y arrive toujours pas pourtant j'ai l'impression que la sujet a déjà été traité en long, large et travers.

J'essaye de mettre en place les notifications instantannées de paiement de Paypal sur mon site via la sandbox. Pour cela, j'ai tout simplement utilisée le code PHP donné par Paypal sur leur site en y rajoutant juste l'envoi de mails pour vérifier le fonctionnement du script.

 

Voilà mon code :

 

<?php
mail('monadresse@mondomaine','Test IPN', 'Vérification page IPN appellée');

// PHP 4.1

// 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";
}



$header .= "POST /cgi-bin/webscr HTTP/1.1\r\n"; // HTTP1.1 Update
$header .= "Content-Length: " . strlen($req) . "\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Host: www.sandbox.paypal.com\r\n"; // Sandbox Host
//$header .= "Host: ipnpb.paypal.com\r\n"; // Live Host
$header .= "Connection: close\r\n\r\n";
$fp =  fsockopen ('ssl://www.sandbox.paypal.com', 443, $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) 
{
	mail('monadresse@mondomaine','Test IPN', 'HTTP error');
} 
else 
{
	fputs ($fp, $header . $req);
	while (!feof($fp)) 
	{
		$res = fgets ($fp, 1024);
		if (strcmp ($res, "VERIFIED") == 0) 
		{
			mail('monadresse@mondomaine','Test IPN', 'VERIFIED');
		}
		else if (strcmp ($res, "INVALID") == 0) 
		{
			mail('monadresse@mondomaine','Test IPN', 'INVALID');
		}
	}
fclose ($fp);
}
?>

 

 

Je reçois bien le mail de la première ligne de mon code qui me permet donc de savoir que la page est bien appelée. Mais jamais les suivants me permettant de confirmer que mon script s'éxécute. J'ai cru comprendre en me balandant sur le net que Paypal avait fait des modifications en Février 2013, peut-être est-ce du à ça sachant que je n'ai pas trouvé un seul Tuto avec ces dernières modifications.

 

Merci de votre aide précieuse !

 

Mat

Login to Me Too
0 RÉPONSES 0

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.