La Ferme du web - Les forums

Venez baraguiner avec la communauté !

Vous n'êtes pas identifié.

#51 25/11/2009 12:52:14

alain732
Membre
Date d'inscription: 25/11/2009
Messages: 1

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

avant tout, merci pour le tuto.

ET comme beaucoup de personne, j'ai un pb avec l'IPN.
Je fais ma transaction, les comptes sont crediter et debiter, il me renvoie bien sur la page de retour, il me lit bien ma page de retour de l'IPN, j'ai bien la transaction dans mon historique IPN, mais après, j'ai plus rien.
Je lui ai juste dis de m'envoyé un mail en php dans chaque categorie, mais rien.
Il m'envoie juste mon mail que j'ai mis en tout debut du code de la page de retour d'IPN.

merci d'avance pour votre aide.

Hors ligne

 

25/11/2009 12:52:14

Botte De Foin Publicitaire


#52 25/11/2009 16:00:38

stc
Membre
Lieu: Annecy
Date d'inscription: 20/06/2009
Messages: 21
Site web

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Salut Alain732 ,moi ce que je faisais c'est d'envoyer un mail différent a chaque test comme ça tu peux remonter la cause du problème.
Tchao

Hors ligne

 

#53 26/11/2009 13:11:51

n1k00
Membre
Date d'inscription: 26/11/2009
Messages: 5

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Tout d'abord merci pour le tuto.
Voilà j'ai commencé à mettre en place le système de paiement mais je rencontre un soucis au niveau du contrôle des IPN. Pour vérifier que ma page est bien appelée par paypal j'effectue l'envoie d'un mail mais j'ai remarqué que ce dit mail était envoyé plusieurs fois donc j'aimerais savoir si il était normal que mon script soit appelé plusieurs fois de suite.
Après j'ai l'impression que mon script ne s'exécute pas entièrement mais cela pourrait venir de mes conditions de vérification.

Pour information, mon site est développé sous Zend Framework.

Merci d'avance

Hors ligne

 

#54 26/11/2009 18:41:43

DJo
Administrateur
Date d'inscription: 31/07/2008
Messages: 569
Site web

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Non je ne pense pas que cela soit normal qu'il soit appelé plusieurs fois.

En théorie, un seul email doit être envoyé.

Hors ligne

 

#55 29/11/2009 00:59:07

n1k00
Membre
Date d'inscription: 26/11/2009
Messages: 5

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

J'ai modifier l'emplacement de mes envoies de mail pour voir et j'ai plus rien des que je rentre dans les controles de la connexion

        if (!$fp) {
            $message .="Erreur HTTP\n";
            mail('monmail','Debugg Paypal',$message);
        } else {
            fputs ($fp, $header . $req);
            $message .="Pas d'erreur HTTP";
            mail('monmail','Debugg Paypal',$message);
            while (!feof($fp)) {
                $res = fgets ($fp, 1024);
                if (strcmp ($res, "VERIFIED") == 0) {
                    $message .="transaction valide\n";
                    mail('monmail','Debugg Paypal',$message);
                }
                else if (strcmp ($res, "INVALID") == 0) {
                    $message .="transaction invalide\n";     
                    mail('monmail','Debugg Paypal',$message);       
                }
            }
            fclose ($fp);
        }

Hors ligne

 

#56 29/11/2009 01:38:56

stc
Membre
Lieu: Annecy
Date d'inscription: 20/06/2009
Messages: 21
Site web

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

ça doit venir de plus haut (ta connexion ssl)

Hors ligne

 

#57 29/11/2009 10:37:22

n1k00
Membre
Date d'inscription: 26/11/2009
Messages: 5

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Je suis en train de me demander si ca vient pas aussi de la fonction mail qui est capricieuse sous ovh ^^; je vais tester en faisant un fichier de log.

EDIT : Oui c'est le temps de latence pour l'envoi du mail ce matin je les ai tous eut. Je vais voir avec le log si c'est pas plus facile a débugger.

Dernière modification par n1k00 (29/11/2009 11:04:04)

Hors ligne

 

#58 08/12/2009 20:31:09

picard
Membre
Date d'inscription: 08/12/2009
Messages: 6

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Bonjour à tous,

Bravo à Djo pour ce tuto qui est bien utile, en plus des infos dispo sur le site de Paypal et ce qu'on peut trouver sur google...

Comme beaucoup ici, j'ai un souci avec la récupération de données par l'IPN. Je vais tenter de décrire mon projet et ce qui me fait galérer, et si quelqu'un peut m'aider, j'en serais ravi et reconnaissant.

Je réalise actuellement un projet où après un paiement via Paypal, l'utilisateur est censé voir son compte crédité de "crédits" qu'il peut ensuite dépenser sur le site.

Je dois donc principalement récupérer le nombre de crédits achetés. Or je ne vois pas du tout comment débugguer la page qui récupère les infos de l'IPN puisqu'elle est appelée par Paypal de façon transparente. Je ne peux donc voir aucun message d'erreur ni mettre des "mouchards" (echo "erreur") dans le code pour voir où est le souci! 

Par ailleurs, j'ai pu lire qu'on utilisais des "sockets" <- je tiens à dire que je n'y connais rien! J'utilise un hébergeur gratuit: 000webhost.com, je sais pas s'il tolère les sockets... bref, je vois pas du tout comment détecter le(s) problème(s)

Merci à celui ou celle qui saura m'aider

smile

Hors ligne

 

#59 08/12/2009 22:26:19

DJo
Administrateur
Date d'inscription: 31/07/2008
Messages: 569
Site web

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Oula effectivement, ton hébergeur sera trop limité ...

Ensuite pour le debug, comme le disais n1k00, tu peux utiliser un fichier de log dans lequel tu écrira. fopen, fput ...

Hors ligne

 

#60 08/12/2009 23:20:50

picard
Membre
Date d'inscription: 08/12/2009
Messages: 6

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Merci Djo pour cette réponse si rapide. Pour le log, je vais essayer ça! Y a-t-il des hébergeurs gratuits permettant l'utilisation d'IPN? (comme c'est pour un projet, ça m'embète de payer, mais si je n'ai pas le choix, tanpis!)

Hors ligne

 

#61 08/12/2009 23:30:23

DJo
Administrateur
Date d'inscription: 31/07/2008
Messages: 569
Site web

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Je n'en ai malheureusement pas à ma connaissance.

Mieux vaut prendre un petit serveur pas trop cher chez OVH par exemple qui te serviras pour tes autres projets web, c'est toujours utile smile

Hors ligne

 

#62 08/12/2009 23:31:41

picard
Membre
Date d'inscription: 08/12/2009
Messages: 6

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Ok merci wink

Hors ligne

 

#63 08/12/2009 23:43:34

picard
Membre
Date d'inscription: 08/12/2009
Messages: 6

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

L'offre Pro (4.99€) suffit-elle, ou faut-il directement selectionner celle business (9.99€)? Et pour combien de temps on s'engage? hmm Parce que ça fait un peu raide si je m'en sers pas trop après le projet... tongue

Hors ligne

 

#64 09/12/2009 01:35:12

stc
Membre
Lieu: Annecy
Date d'inscription: 20/06/2009
Messages: 21
Site web

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Pour ovh tu n'as pas d'engagement 1 an (comme chez 1&1 par ex) pour commencer je te conseille un rps 10Go

Hors ligne

 

#65 09/12/2009 22:55:23

picard
Membre
Date d'inscription: 08/12/2009
Messages: 6

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Bonsoir,

Désolé de revenir poster à nouveau mais je suis un peu perdu, et je me dis aussi que mon problème pourra servir à ceux qui auront le même souci.

J'ai donc hébergé mon site sur OVH comme l'on m'avait conseillé (j'ai un forfait "perso"), et je suis exactement dans la même situation qu'alain: c'est à dire que mon compte buyer est débité, celui du seller est crédité, mais je n'arrive pas à récupérer les info de l'ipn.

J'ai également suivi le conseil de créer un fichier log pour voir déjà si je passais mais rien n'est modifié dans le log non plus... Il doit y avoir quelque chose que je fais mal. Je c/c le code de ma page de récupération, si quelqu'un voit une erreur évidente ou peut m'aider sur ma façon de tester...

Code:

<?php
// read the form from PayPal system & add 'cmd'     
$req = 'cmd=_notify-validate';         
foreach ($_POST as $key => $value) {         
$value = urlencode(stripslashes($value));         
$req .= "&$key=$value";
}

// send back to PayPal system for validation     
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";     
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";     
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";     
$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
$filename = "log.txt"

$filePointer = fopen($filename,"w");
fputs($filePointer,"ping");

$credits_add = $_POST['on0'];          
$payment_status = $_POST['payment_status'];             
$txn_id = $_POST['txn_id'];     
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];     
$id_user = $_POST['custom'];

if (!$fp) {     // ERROR HTTP     
} 
else {         
    fputs ($fp, $header . $req);         
    while (!feof($fp)) {             
        $res = fgets ($fp, 1024);             
        if (strcmp ($res, "VERIFIED") == 0) {                 
            // Valid Transaction :
            // check if payment_status is equal to "Completed "                
            if ( $payment_status == "Completed"){                     
                // check that txn_id has not been previously processed: Créez une fonction qui va interroger votre base de données                     
                if (VerifIXNID($txn_id) == 0) {                         
                // check receiver_email is our email                        
                    if ( "votreEmailSeller" == $receiver_email) {                             
                        // process the payment >> credit the customer credit account
                        
                        require("conf.php");
                        // CONNEXION MYSQL
                        $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);

                        // SELECTION OF THE MEMBER CORRESPONDING TO THE ID
                        $request=mysql_db_query($sql_db,'select * from member where MemberId="'.$id_user.'"',$db_link) or die(mysql_error());

                        // IF ID DOES NOT EXIST
                        if(mysql_num_rows($request)==0){
                                header("Location:$url_erreur");
                                exit;
                        }
                        
                        $number_credits=mysql_result($request,0,"Credits");
                        $number_credits+=$credits_add;
                        
                        $request2=mysql_db_query($sql_db,'update member set Credits="'.$number_credits.'"where MemberId="'.$id_user.'"',$db_link) or die(mysql_error());
                        mysql_close();
                        echo "Congrats, you have now:".$number_credits."Credits in your account";
                    } 
                    else { echo "wrong paypal adress"
                    } 
                } 
                else { echo "Transcation ID already used"
                } 
            } 
            else { echo "Payment status: fail";
            }
        }             
        else if (strcmp ($res, "INVALID") == 0){                 // Invalid Transaction                            
        }         
    }         
    fclose ($fp);     
}

?>

Merci à ceux qui auront le temps d'y jeter un oeil et par la même occasion de me jeter une bouée de sauvetage smile

Hors ligne

 

#66 10/12/2009 00:06:41

n1k00
Membre
Date d'inscription: 26/11/2009
Messages: 5

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Bonsoir ou Bonjour smile
J'aurais aimé savoir quel était l'adresse à mettre pour le passage en prod pour les IPN?? j'ai mis ssl://www.paypal.com par déduction mais je préfère être sur de moi

Hors ligne

 

#67 10/12/2009 12:40:29

DJo
Administrateur
Date d'inscription: 31/07/2008
Messages: 569
Site web

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Oui c'est bien ça.

Hors ligne

 

#68 14/12/2009 22:52:50

picard
Membre
Date d'inscription: 08/12/2009
Messages: 6

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Bonsoir à tous,

Je pense avoir bien débuggé mon code. D'ailleurs, j'en profite pour aider les débutants comme moi qui ont des Parse Error un peu partout dans leur scripts pour débugger: dans ce cas les fichiers log ou mail sont inutiles car s'il y a des erreurs de ce type, le script ne passera pas. Je conseillerais donc de faire une page test html avec un formulaire bidon où on envoie des variables aux noms de ceux utilisés par l'IPN. Ca permet d'avoir les messages d'erreur dans le navigateur (c'est une solution bricolage, mais bon, ça m'a permis de débuggé en 2 minutes ce que je farfouillais depuis 2 jours big_smile )

Par contre, ma condition "VERIFIED" n'est jamais vérifié (en effet maintenant que mon script tourne, je m'envoie des mail à chaque cas, et je suis toujours dans le cas "INVALID"). Pourtant, côté Paypal, tout à l'air de bien passer, mes deux comptes sandbox sont Verified, la transcation est prise en compte, etc... Je vois pas d'où ça peut venir... Peut-être quelqu'un a-t-il déjà eu ce problème?

Bonsoir smile

Hors ligne

 

#69 14/12/2009 22:59:27

n1k00
Membre
Date d'inscription: 26/11/2009
Messages: 5

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Le principe du log permet de voir ou ton script se stope mais c'est sur que si ont à pas l'habitude de développer c'est pas forcement facile de repérer l'erreur que l'on peut obtenir

Hors ligne

 

#70 14/01/2010 15:07:11

yannickdebreu
Membre
Date d'inscription: 10/11/2009
Messages: 6

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Bonjour,

Petite question.

Tout est bien installé, lorsque le client clique sur acheter il est bien redirigé sur la plateforme de paiement Paypal.

Par contre en haut de la page j'ai une adresse email et non le titre du site. De plus en bas on a le "Annuler et retourner sur le site adresse@email.com" et non le nom du site.

Je ne trouve pas ou personnaliser ce titre.

Pouvez-vous m'aider ?

Merci d'avance !

Hors ligne

 

#71 17/02/2010 23:46:50

benthebest
Membre
Date d'inscription: 26/05/2009
Messages: 6

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Bonjour,

j'ai une petite question sur le tuto:

dans les champs du formulaire, on a le champs "amount" du paiement (voir ici) et quand on récupère les données, on récupère à partir de mc_gross : $payment_amount = $_POST['mc_gross']; ici

Il n'y a pas un problème la? Lequel doit on utiliser pour récupérer le montant total que le client doit payer?

Merci.

Hors ligne

 

#72 18/02/2010 06:49:42

DJo
Administrateur
Date d'inscription: 31/07/2008
Messages: 569
Site web

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

mc_gross est bien le montant qu'à payé le client sur Paypal. Le montant final.
Alors que dans le formulaire, il peut être traffiqué en HTML avec firebug ou autre.

Hors ligne

 

#73 10/03/2010 20:48:13

rom650
Membre
Date d'inscription: 03/03/2010
Messages: 3

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Bonjour

alors premièrement ton tuto est super car je les réussi ...
Neamoin j'ai une question la page du  ipn est exécuter depuis les deveurs de paypal ? donc, sa ne peut pas être depuis cette page que jajoute des crédits aux membres ? Puisque l'utilisateur est connecter depuis son ordi mais mon site ne va pas le voir connecter si c'est avec le script ipn donc il ne pourras pas créditer ?


Dites moi si je me trompe

a bientot

Hors ligne

 

#74 12/03/2010 15:09:30

rom650
Membre
Date d'inscription: 03/03/2010
Messages: 3

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

bonjour,

Je me permet d'upper ce topic car demain soir nous avons reunion de l'assoc et je voudrai avoir avancer ...

Cordialement

Hors ligne

 

#75 13/03/2010 11:34:25

DJo
Administrateur
Date d'inscription: 31/07/2008
Messages: 569
Site web

Re: Tutorial: Intégrer un système de paiement PayPal à son site PHP

Si c'est bien dans cette page que tu vas valider l'achat de ton produit ou service et lancer la commande ou attribuer les crédits.

Hors ligne

 

Pied de page des forums

Powered by FluxBB
© Copyright 2008-2009 - LaFermeduWeb.net