Modification de l’IPN de Paypal

Si vous avez un compte sur le site http://www.paypal.com pour votre boutique en ligne, vous avez certainement reçu un email de leur part vous demandant de mettre à jour le code de votre IPN.

Ca ressemble à ça :

À partir du 1er février 2013, toutes les demandes entrantes devront avoir une en-tête « hôte » conforme aux caractéristiques HTTP 1.1. Cette en-tête n’était pas nécessaire avec HTTP 1.0. À partir du 1er février 2013, il se peut que les scripts IPN et PDT qui utilisent le protocole HTTP 1.0  échouent avec le message d’erreur « HTTP/1.0 400 Bad Request ». En conséquence les messages IPN ne seront pas validés avec succès, ou les scripts PDT ne pourront par récupérer les détails des transactions.

Ce n’est pas forcement très clair.
En réalité, c’est assez simple. Dans votre code source de validation de paiement Paypal, vous devez avoir quelque chose du genre :

$header .= »POST /cgi-bin/webscr HTTP/1.0\r\n »;
$header .= »Content-Type: application/x-www-form-urlencoded\r\n »;

 

Il faut simplement modifier en :

 

$header .= »POST /cgi-bin/webscr HTTP/1.1\r\n »;
$header .= »Content-Type: application/x-www-form-urlencoded\r\n »;
$header .= »Host: www.paypal.com\r\n »;
$header .= »Connection: close\r\n »;

Et lors de votre vérification, vérifiez bien que votre code ressemble à :

if (strcmp (trim($res), « VERIFIED ») == 0)
{
votre code de validation
}

Vous devez faire ces modifications avant le 1er Février 2013.