Problème lors de l'ajout d'une fonction de paiment sur site internet via la fonction bouton acheter

michaelss
Contributeur
Contributeur

Bonjour,

 

J'ai utilisé la simple option bouton pour mettre en oeuvre un système de paiement sur mon site.

lorsque l'utilisateur clique sur le bouton que j'ai inséré, l'utilisateur arrive bien sur la page de paiment et le paiement se fait correctement. Une fois le paiement achevé, l'utilisateur retourne bien sur la page prévue.

 

Toutefois, ma difficulté provient de la récupération de la requete IPN par mon site. J'utilise bien un script qui sera appelé par Paypal, mais le payment_status sera toujours envoyé avec la valeur "Pending" bien que la transaction ait été complètement réalisée. Voici le script qui gère l'IPN :

<?php

// prépare la requête de vérification
$req = "cmd=_notify-validate";

// ajoute le message IPN au format NVP à la requête de vérification
foreach ($_POST as $key => $value) {
  $value = urlencode(stripslashes($value));
  $req .= '&'.$key.'='.$value;
}

// définition des headers pour la requête de vérification
$header  = "POST /cgi-bin/webscr HTTP/1.1\r\n";

// test 
//$header .= "Host: www.sandbox.paypal.com:443rn";

// production
$header .= "Host: ipnpb.paypal.com:443\r\n";

$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";


// Ouverture du socket

// test
//$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);

// production
$fp = fsockopen ('ipnpb.paypal.com', 443, $errno, $errstr, 30);

// s'il y a une erreur lors de l'ouverture du socket
if (!$fp) {
// ERREUR HTTP
} 
else {
	fputs ($fp, $header . $req);
	while (!feof($fp)) {

.....

Auriez vous une idée de l'origine de ce problème?

 

Merci

 

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.