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

PHP & Base de données Discussion :

e-commerce avec paypal


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Par défaut e-commerce avec paypal
    Salut a tous,

    j'ai un bug depuit quelque jours avant mon api de paypal. J'essais de creer un simple panier d'achat (qui est fait ) l'envoyer a paypal avec le formulaire en method post (qui est fais ) je fais la transaction sur le site de paypal(avec les donne recu item, prix, ect...) mais je ne suis pas capable de recevoir les donner que paypal menvoie.

    pourtant si je bypass paypal et que j'envoie mon formulaire directement a mon ipn sur mon site je recupere bien des valeur que j'envoie a paypal...

    Je debug avec firebug et pourtant il voit bien le post de paypal quand je retoune sur mon site.

    mon ipn j'ai pris sur paypal directement (et modifier un peu)

    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    <?php
     
    	// lire le formulaire provenant du système PayPal et ajouter 'cmd'
        $req = 'cmd=_notify-validate';
     
        foreach ($_POST as $key => $value) {
            $value = urlencode(stripslashes($value));
            $req .= "&$key=$value";
            echo $req. '<br />';
        }   
        echo 'fin de la loop';
        echo '<br />';
        echo '$req '. $req;
       // renvoyer au système PayPal pour 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 ('www.sandbox.paypal.com', 80, $errno, $errstr, 30);
     
    	//$i pour le nombre d'item
        $i = 1;
     
        for ($=1; $_POST['item_name.'$i];$i++)
        	{
        		$item_name.$i = $_POST['item_name'.$i];
     
        	}
     
        // $i pour le nombre d'item
     
        for ($i=1;$_POST['item_number'.$i];$i++)
        	{
        		$item_number.$i = $_POST['item_number'.$i];
        	}
     
        $payment_status = $_POST['payment_status'];
     
    	// $i pour le nombre d'item
     
    	for ($i=1;$_POST['mc_gross'.$i];$i++)
    		{
    			$payment_amount.$i = $_POST['mc_gross'.$i];
    		}
     
        $payment_currency = $_POST['mc_currency'];
        $txn_id = $_POST['txn_id'];
        $receiver_email = $_POST['receiver_email'];
        $payer_email = $_POST['payer_email'];
        $info_client = $_POST['custom'];
     
        if (!$fp) 
        	{
        		// ERREUR HTTP
     
        		echo $errno. ' et ' . $errstr;
        	} 
        else 
        	{
            fputs ($fp, $header . $req);
            echo '<br />'. ' $fp ($header $req) <br />';
            echo $fp;
          	 while (!feof($fp)) 
          	  	{
                	$res = fgets ($fp, 1024);
                		if (strcmp ($res, "VERIFIED") == 0) 
                			{
                    			// transaction valide
                    			echo 'valide';
                			}
                		else if (strcmp ($res, "INVALID") == 0) 
                			{
                    			// Transaction invalide
                    			echo 'invalide';                
                			}
            		}
            fclose ($fp);
        }
        // transaction valide
    	               // vérifier que payment_status a la valeur Completed
                    if ( $payment_status == "Completed") {
                        // vérifier que txn_id n'a pas été précédemment traité: Créez une fonction qui va interroger votre base de données
                        if (VerifIXNID($txn_id) == 0) {
                            // vérifier que receiver_email est votre adresse email PayPal principale
                            if ( "votreEmailSeller" == $receiver_email) {
                                // vérifier que payment_amount et payment_currency sont corrects
                                // traiter le paiement
                             }
    			  else {
    				// Mauvaise adresse email paypal
    			  }
    			}
    			else {
    				// ID de transaction déjà utilisé
    					}
    			}
    		  else {
    		        	// Statut de paiement: Echec
    		  }
     
     
    ?>
    dans mon fichier qui envoie les donnez a paypal j'ai bien

    finaliser.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type="hidden" name="return" value="'.site.'/processAchat.php">
    									<input type="hidden" name="cancel_return" value="'.site.'/processAchat.php">
    									<input type="hidden" name="notify_url" value="'.site.'/processAchat.php">
    et si je change pour mon l,adresse de mon ipn dans le form finaliser.php j'obtien ma variable avec tous les donne qu'il faut envoyer avec "cmd=_notify-validate&cmd=_cart&upload=1&business=vente..."

    si je vais sur mon compte developpeur sur paypal et que je test mon ipn il me dit qu'il ne repond pas.

    J,ai bien vu tout les poste on sensiblement le meme probleme mais je voie pas de solution alors si quelqu'un peu m'aider

    mataxa

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    C'est le même probleme que moi pour ce sujet que j'ai lancé y' a quelques jours :
    http://www.developpez.net/forums/d93...cheter-paypal/

Discussions similaires

  1. Problème du voyageur du commerce avec plusieurs voyageurs
    Par Treuze dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 21/12/2007, 11h46
  2. Boutique e-commerce avec THELIA
    Par karac dans le forum E-Commerce
    Réponses: 2
    Dernier message: 18/12/2007, 18h39
  3. Voyageur de commerce avec Lisp
    Par abdo dans le forum Lisp
    Réponses: 2
    Dernier message: 11/03/2007, 02h42
  4. Problème avec paypal
    Par Coussati dans le forum Applications
    Réponses: 7
    Dernier message: 04/03/2006, 23h41

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