Bonjour à tous,
j'ai mis en place le paiement paypal comme dans le superbe tuto, tout fonctionne , sauf que mon action "notify" n'est pas appelée par paypal.
Pour débugger j'ai réduit m'a fonction à :
function notify()
{
$this->log("test",'paypal');die();
}
lorsque j'y accède par le navigateur, le log paypal.log se met bien à jour .
Lorsque je lance un paiement, il ne se met pas à jour.
Je travaille en locale , mais j'ai mis WAMP en mode en ligne, j'ai redirigé le port 80 vers mon ip locale, et paypal réussi bien à accéder à ma page success, puisqu'à la fin il me redirige correctement .
Avez vous une idée ?
Merci d'avance, cordialement
J'ai testé avec IPN Simulator proposé dans les outils paypal.
Et j'ai le message suivant:
IPN delivery failed. HTTP error code 404: Not Found
Comme si paypal n'arrivait pas à accéder à ma page de notification
http://monip/NMS3-cake/notify
je suis à cours d'idée :(
Bonjour,
J'ai rencontré le meme problème, Paypal fait appel à la page notify mais on a le droit à un erreur "HTTP error code 404: Not Found", donc pour le résoudre faut suivre les étapes suivantes.
1) verifier si vous avez bien activer la notification IPN dans le compte paypal
2) Paypal à mis à jour dernièrement son ipen, il a passé de HTTP/1.0 vers HTTP/1.1. Donc faut changer le HTTP et ajouter le host dans le header (vois le code ci-dessous).
<?php
....
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n"; // Changer 1.0 vers 1.1
$header .= "Host: www.".PP_sandbox."paypal.com\r\n"; // à ajouter dans header
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen('ssl://www.'.PP_sandbox.'paypal.com', 443, $errno, $errstr, 30);
....
?>