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

Langage PHP Discussion :

Paypal et la BDD


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 487
    Par défaut Paypal et la BDD
    Bonjour,

    pour un projet web je dois implanter un module paypal. En gros, une personne peut acheter du crédit numérique après l'avoir acheter via paypal. Je cherche donc à faire en sorte qu'une fois qu'une personne soit passé par paypal, celui-ci soit redirigée sur une page sécurisé pour que son crédit numérique soit intégrer dans la BDD.

    Comment puis-je réaliser cela ?

    Merci d'avance
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Salut, il y a 2/3 ans j'ai mis en place un système paypal (possible que cela soit fait avec paybox).

    Si je me souviens bien, quand tu appelles la page de paiement, tu lui envoies un code identifiant.

    Et dans ta configuration, tu précises une adresse de retour. Si tout est bon, il t'envoie la confirmation sur cette adresse (page web) avec l'identifiant.

    sinon leur site est bien fait : https://www.paypal-france.fr/developpeurs/#Integral

  3. #3
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 487
    Par défaut
    Bonjour Bebel ,

    merci de ta réponse je regarde ça de suite
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

  4. #4
    Membre émérite Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Par défaut
    Bonjour,

    J'utilise cette méthode actuellement pour un système de donation...

    Voici comment je fais pour qu'une fois que l'utilisateur valide son don sur paypal, paypal renvoie sur le site la confirmation du don fait.

    Dans la page où il y aura la possibilité de faire le payement tu y mets ton formulaire avec des inputs hidden qui seront envoyé à paypal pour que celui-ci sache quoi faire :
    Code html : 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
     
    <form method="post" action="https://www.paypal.com/cgi-bin/webscr">
    <input type="hidden" name="cmd" value="_xclick"> <!-- la valeur indique la façon dont sera envoyé l'argent, si c'était par bouton se serais _s-xclick. Ici j'envoie le dont via un input...-->
    <input type="hidden" name="amout" value="VARIABLE INDIQUANT LE MONTANT A ENVOYER"><!-- Montant de la transaction -->
    <input type="hidden" name="business" value="EMAIL DU COMPTE PAYPAL"><!-- ICI l'email qui recevera l'argent -->
    <input type="hidden" name="item_name" value="OBJET DE LA TRANSACTION"><!-- Ici, tu indiquera le nom de l'objet de la transaction, le mieux est de mettre un objet avec une coordonnée de l'utilisateur afin que tu puisses plus facilement repérer le client -->
    <input type="hidden" name="item_number" value="1"> <!-- Mettre 1 si tu ne défini pas le client dans l'objet, sinon, mets l'identifiant de ton client -->
    <input type="hidden" name="no_note" value="1"> <!-- 1 pour ne pas obligé le client de saisir une note, sinon 0 -->
    <input type="hidden" name="currency_code" value="EUR"> <!-- devise monaitaire -->
    <input type="hidden" name="tax" value="0"> <!-- moi j'ai mis ceci pour faire passer le payement en donation sans taxte particulière, mais si tu désire ajouter une taxe selon l'objet, il te suffit de le définir ici -->
    <input type="hidden" name="no_shipping" value="1"> <!-- 1 pour ne pas demander à l'utilisateur de saisir une adresse de livraison sinon, tu mets 0 -->
    <input type="hidden" name="custom" value="ID DE L'UTILISATEUR"> <!-- ici, renseigne l'id de ton utilisateur afin de faire le traitement après -->
    <input type="hidden" name="lc" value="FR"> <!-- Pour définir la langue de paypal lors du payement" -->
    <input type="hidden" name="notify_url" value=""> <!-- ici, ytu renseigne la page qui te servira de traitement après avoir reçu le payement du client -->
    <input type="submit" src="images/Donation.gif" name="submit">
    </form>

    Et dans ta page de traitement avec laquelle tu fais rediriger paypal :
    Code php : 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
     
    <?php
    // On défini une fonction pour les requêtes afin d'écrire quelques part l'erreur sql qui s'est produite pour que l'on puisse la connaître
    function requete_don($sql) {
    	$result = @mysql_query($sql);
    	if ($result === false)
    		log_erreur("Erreur don : " . $sql . " - " . mysql_error());
    	return $result;
    }
    // On ajoute 'cmd' après avoir lu les données reçu par paypal
    $req = 'cmd=_notify-validate';
    // On défini la variable qui va nous servir pour l'encodage de l'url
    foreach ($_POST as $key => $value) {
    	$value = urlencode($value);
    	$req .= "&$key=$value";
    }
    // Système retourné en POST pour validation paypal
    $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.paypal.com', 80, $errno, $errstr, 30);
    // Définir les 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'];
    $paypal_email = $config['paypal_mail']; 
    $clid = $_POST['custom'];
     
    if (!$fp) {
    	// Erreur
    	log_erreur('Erreur donation (!$fp)');
    } else {
    	fputs ($fp, $header . $req);
    	while (!feof($fp)) {
    		$res = fgets ($fp, 1024);
    		if (strcmp ($res, "VERIFIED") == 0) {
     
    			// si le payement est confirmé par paypal
    			if ($receiver_email == $paypal_email && $payment_status == "Completed") {
    				// ICI METTRE LE CODE QUI SERA APPLIQUé
    				//////////////////exemple de requête:
    				$mod_r = requete_don("SELECT commentaire_moderation FROM membres WHERE id = " . sqlesc($clid));
    				$mod = mysql_fetch_row($mod_r);
    				$doncom = date("d/m/Y") . " - " . $payment_amount . "€ - ";
    				if (!empty($mod[0]))
    					$doncom .= "\n" . htmlspecialchars_decode($mod[0]);	
    				$query = "UPDATE membres".SUF." SET commentaire_moderation = " . sqlesc(htmlspecialchars($doncom)) . " WHERE id = " . sqlesc($clid);
    				$result = requete_don($query);
    				////////////////////////////////
    			}
     
    		// sinon on redirige vers une autre page
    		} else if (strcmp ($res, "INVALID") == 0) {
    			header("Location: MAPAGE_ERREUR.php");
    		}
    	}
    	fclose ($fp);
    }
    ?>

    Voilà, en espérant que cela t'aide tout en sachant que les liens que Bebel t'as donnés sont très utile aussi

  5. #5
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 487
    Par défaut
    Bonjour,

    merci de ta réponse Atomya Rise. J'ai aussi trouvé ce tuto
    http://ww7.be/neofutur/tools/php/pay...rial_part3.php.

    Il me semble que ça reprend tes conseils. Ce soir je tente de les mettre en pratique
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

  6. #6
    Membre émérite Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Par défaut
    Fais moi confiance, ceci est en ligne sur plusieurs sites et fonctionne très bien

Discussions similaires

  1. conseils insertion BDD avant paiement paypal
    Par kate59 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/01/2012, 15h19
  2. portabilité et BDD
    Par delire8 dans le forum C++Builder
    Réponses: 7
    Dernier message: 04/07/2002, 10h59
  3. connection a une BDD MySql
    Par delire8 dans le forum MFC
    Réponses: 7
    Dernier message: 19/06/2002, 18h18
  4. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

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