Bonjour à tous,
J'ai un petit problème avec le code du tuto Paypal.
En effet l'IPN me revoie "Invalid Host header". J'ai pourtant fait un copier/coller du code et j'ai juste changé l'adresse mail de test du vendeur et en gardant "ssl://www.sandbox.paypal.com".
Quelqu'un peut il m'aider ??
Merci à tous et merci pour ce tuto.
Orsam
Paypal a fait un changement dans son API Il faut rajouter un header HOST
...
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
...
Salut Orsam et Grafikart,
C'est exactement ce que je recherche. J'ai essayer ta solution Grafikart mais ça ne semble pas marcher. J'ai dû faire quelque chose qu'il ne fallait pas dans le header. Voici mon code :
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Host: www.sandbox.paypal.com\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n";
$header .= "Connection: Close\r\n\r\n";
Qu'en pensez-vous?
Salut Kal-eL,
Tout ça me semble très bien.
Pour ma pars, mon code fonctionne, mais apparemment, il existe au version de paypal en WebService, et je pense travailler dessus.
A plus
Olivier
Après beaucoup trop de recherches, voici le code à modifier.
Le HEADER :
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Host: www.sandbox.paypal.com\r\n"; // www.paypal.com for a live site
$header .= "Content-Length: " . strlen($req) . "\r\n";
$header .= "Connection: close\r\n\r\n";
Puis à la place de
if (strcmp ($res, "VERIFIED") == 0)
il faut mettre
if (stripos($res, "VERIFIED") !== false)
Encore merci à Grafikart pour toutes les connaissances que tu nous apporte !