IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

E-Commerce Discussion :

Paypal IPN : notify_url n'est jamais exécutée


Sujet :

E-Commerce

  1. #1
    Membre habitué Avatar de ilalaina
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 187
    Points
    187
    Par défaut Paypal IPN : notify_url n'est jamais exécutée
    Tout est dans le titre. J'ai fait plusieurs tests mais la conclusion c'est que notify_url n'est jamais exécutée.

    Par contre j'obtiens bien l'IPN renvoyé par Paypal si je fais les traitements dans la page return.

    J'ai lu plusieurs forums sur le Web et beaucoup de gens sont face au même problème mais je n'arrive pas à trouver la "vraie" solution. Y en a même qui disent que c'est un bug de Paypal.

    Pourriez-vous confirmer ceci ou m'orienter pour trouver la solution.

    Merci d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Points : 83
    Points
    83
    Par défaut
    Bonjour, je suis entrain d'installer une solution paypal ipn sur mon site qui vend un service, et lors de mes tests, j'ai le même problème que toi c'est à dire que les paiements se font bien mais notify_url n'est jamais appelée !

    As-tu réussit à trouver le pourquoi du comment?

    Est-ce du au fait que j'ai rentré une adresse locale dy type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://127.0.0.1/monsite/notifypayment.php
    ??

    merci

  3. #3
    Membre habitué Avatar de ilalaina
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 187
    Points
    187
    Par défaut
    Désolé l'ami, jusqu'à maintenant j'ai pas trouvé de solution, d'ailleurs je suis passé à MoneyBookers car le temps presse
    En ce qui concerne l'adresse que t'as rentré c'est logique que paypal ne trouvera pas ton hôte parce que c'est pas 127.0.0.1 qu'on voit depuis l'extérieur, c'est l'adresse publique.
    Par contre les tests que j'ai faits ont tous été effectués sur un hébergeur, pas en local, mais ça n'a pas marché.
    En tout cas si tu trouves la solution je suis toujours intéressé.
    Bon dev.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour tout le monde . J ai eu même problème.
    Plusieurs choses a tester:

    1. il faut aller dans "Historique des notifications instantanées de paiement (IPN)" du compte business. et regarder si il y a eu des Notification. si oui - alors voir ces états (il se peut qu'il y ait eu une erreur d'envoi : voir les détails de transaction)

    2. Si y a n' a pas d' IPNs - ils sont tout simplement pas configuré: RDV ds Préférence -> Préférences de Notification instantanée de paiement pour configurer l'adresse d'envois

    3. A vérifier les préférences des transactions : il se peut que les transactions avec des currency différente (EUR -> USD, ...) sont mis en attente (c'était le cas pour moi)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 73
    Points : 36
    Points
    36
    Par défaut
    Bonjour,
    moi quand je vais dans l'historique ile me dit que l'ipn a été envoyé avec succé
    Numéro du message3WA819127S302215J

    Date/heure de création09/04/2010 18:22 CEST

    Original/RenvoyéOriginal

    Date/heure de la dernière tentative d'envoi09/04/2010 18:22 CEST

    URL de notificationhttp://devservertest.free.fr/regienewskin/user/paypal/verif.php

    Code de réponse HTTP200

    Etat de livraisonEnvoyé

    Nombre de tentatives0

    Numéro de transaction5FT184516J773921Y

    Type de notification instantanée de paiementTransaction effectuée
    Mais par contre le fichier n'est pas exécuté car je ne reçoit aucun mail, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    <?php
    // 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";
    }
    
    // post back to PayPal system to validate
    	
    $header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
     
    	// If testing on Sandbox use: 
    	// $header .= "Host: www.sandbox.paypal.com:443\r\n";
    $header .= "Host: www.paypal.com:443\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
    
    	// If testing on Sandbox use:
    	//$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
    $fp = fsockopen ('ssl://www.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) {
    // HTTP ERROR
    } else {
    fputs ($fp, $header . $req);
    while (!feof($fp)) {
    $res = fgets ($fp, 1024);
    if (strcmp ($res, "VERIFIED") == 0) {
    // check the payment_status is Completed
    // check that txn_id has not been previously processed
    // check that receiver_email is your Primary PayPal email
    // check that payment_amount/payment_currency are correct
    // process payment
    
    $mail_From = "From: me@mybiz.com";
    $mail_To = "geekf0.assist@gmail.com";
    $mail_Subject = "VERIFIED IPN";
    $mail_Body = $req;
    
    foreach ($_POST as $key => $value){
    $emailtext .= $key . " = " .$value ."\n\n";
    }
    
    mail($mail_To, $mail_Subject, $emailtext . "\n\n" . $mail_Body, $mail_From);
    
    }
    else if (strcmp ($res, "INVALID") == 0) {
    // log for manual investigation
    
    $mail_From = "From: me@mybiz.com";
    $mail_To = "geekf0.assist@gmail.com";
    $mail_Subject = "INVALID IPN";
    $mail_Body = $req;
    
    foreach ($_POST as $key => $value){
    $emailtext .= $key . " = " .$value ."\n\n";
    }
    
    mail($mail_To, $mail_Subject, $emailtext . "\n\n" . $mail_Body, $mail_From);
    
    }
    }
    fclose ($fp);
    }
    ?>
    Si vous pouvez m'aider ...

    merci

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 73
    Points : 36
    Points
    36
    Par défaut
    En fait je me suis aperçu que mon code est bel et bien exécuté mais il doit y avoir une erreur car je reçoit le premier mail mais pas le second
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <?php
    
    $mail_From = "From: me@mybiz.com";
    $mail_To = "geekf0.assist@gmail.com";
    $mail_Subject = "VERIFIED IPN";
    $mail_Body = "test";
    
    mail($mail_To, $mail_Subject, $mail_Body);
    // 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";
    }
    
    // post back to PayPal system to validate
    	
    $header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
     
    	// If testing on Sandbox use: 
    	// $header .= "Host: www.sandbox.paypal.com:443\r\n";
    $header .= "Host: www.paypal.com:443\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
    
    	// If testing on Sandbox use:
    	//$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) {
    // HTTP ERROR
    } else {
    fputs ($fp, $header . $req);
    while (!feof($fp)) {
    $res = fgets ($fp, 1024);
    if (strcmp ($res, "VERIFIED") == 0) {
    // check the payment_status is Completed
    // check that txn_id has not been previously processed
    // check that receiver_email is your Primary PayPal email
    // check that payment_amount/payment_currency are correct
    // process payment
    
    $mail_From = "From: me@mybiz.com";
    $mail_To = "geekf0.assist@gmail.com";
    $mail_Subject = "VERIFIED IPN";
    $mail_Body = "verified";
    
    mail($mail_To, $mail_Subject, $mail_Body);
    
    foreach ($_POST as $key => $value){
    $emailtext .= $key . " = " .$value ."\n\n";
    }
    
    mail($mail_To, $mail_Subject);
    
    }
    else if (strcmp ($res, "INVALID") == 0) {
    // log for manual investigation
    
    $mail_From = "From: me@mybiz.com";
    $mail_To = "geekf0.assist@gmail.com";
    $mail_Subject = "VERIFIED IPN";
    $mail_Body = "qsdfgfsdg";
    
    mail($mail_To, $mail_Subject, $mail_Body);
    
    foreach ($_POST as $key => $value){
    $emailtext .= $key . " = " .$value ."\n\n";
    }
    
    mail($mail_To, $mail_Subject);
    
    }
    }
    fclose ($fp);
    }
    ?>

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Points : 74
    Points
    74
    Par défaut
    J'ai eu le même souci que toi ilalaina mais avec sa tu devrais trouver ce qu'il te faut.

    http://paypal.over-blog.net/article-3598934.html

    Tout est dans les options de paypal qui ne sont pas bien expliquées!
    Bonne chance !

    @madstrix : Peut-être faut-il un message à ton sujet pour qu'il puisse s'envoyer. Tu n'as qu'un destinataire et un sujet.

    Cordialement

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 220
    Points : 167
    Points
    167
    Par défaut
    J'ai eu cette erreur due à l'oubli du http:// , peut-être est-ce aussi votre problème!

  9. #9
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai le même problème aussi Mais j'ai trouvé que j'avais travaillé en local alors paypal ne trouve pas mon hôte alors je devrais rendre l'hôte public et sa marche. Peut être que ca pourrait vous aider

Discussions similaires

  1. [Jenkins] Installation sur Debian à problème, Jenkins n'est jamais exécuté
    Par randriano dans le forum Intégration Continue
    Réponses: 1
    Dernier message: 16/03/2015, 08h48
  2. [eCommerce] call_autoresponse.php n'est jamais exécuté
    Par sakini dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 13/01/2011, 19h45
  3. Réponses: 5
    Dernier message: 06/07/2007, 10h30
  4. l'horloge de mon ordi n'est jamais à l'heure au demarrage.
    Par JavaAcro dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 20/02/2006, 08h50
  5. [ Struts ] Erreur : l'action n'est jamais appelé
    Par romain3395 dans le forum Struts 1
    Réponses: 3
    Dernier message: 25/06/2004, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo