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 :

API PAYPAL - Champ Custom [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Alternance
    Inscrit en
    Juin 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Alternance
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2013
    Messages : 21
    Points : 22
    Points
    22
    Par défaut API PAYPAL - Champ Custom
    Bonjour,

    Ci je viens vers vous ce soir, c'est que l'heure est grave.

    Sur mon site internet en développement, j'utilise l'API Paypal.

    Via cette API, il est possible d'envoyer des informations via un champ "custom", contenant des valeur.

    Lorsque le client paye le service de mon site (si le paiement est valide), paypal interroge une page de mon site, en envoyant comme paramètre le contenu du champ custom.

    Le problème:

    Il semble que paypal ne m'envoi pas toute les informations que je souhaiterai avoir, la chose est tronqué. Il dois y avoir une taille limite. Auriez-vous une idée de comment outre passer cette limite ?

    Sinon j'ai déjà d'autre solutions en tête, comme stocker toutes ces informations dans une table de ma BDD, envoyé l'id de la ligne dans "custom" de paypal, et récupérer dans les informations dans ma BDD ... Mais bon ca semble pas propre !

    En vous remerciant d'avance.

    Cordialement

    bplus

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    Bonjour,

    Sinon j'ai déjà d'autre solutions en tête, comme stocker toutes ces informations dans une table de ma BDD, envoyé l'id de la ligne dans "custom" de paypal, et récupérer dans les informations dans ma BDD ... Mais bon ca semble pas propre !
    ???

    Il faut bien enregistrer la commande dans la base de donnée !
    Vous êtes obligé de la faire après paypal ?

    ca ne change rien de le faire avant il faut juste ajouter un chant payé/ou non
    De plus cela permet de conserver les coordonnées du visiteur au cas ou il ne vas pas au bout...
    De plus, moins d'informations transites, et plus sur est le systeme, juste un id, c'est le top
    $moi= ( !== ) ? : ;

  3. #3
    Membre à l'essai
    Homme Profil pro
    Alternance
    Inscrit en
    Juin 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Alternance
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2013
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    Tout d'abord papajoker, merci de ta réponse et du temps prit.

    L'opération Paypal est obligatoire effectivement.

    Je médite sur ta solution, tu m'as ouvert l'esprit sur un point qui me semble a la limite de la violation des droits civile et numérique. Faut que je rédige quelque chose pour ça.

    Néanmoins l'idée soumise est simple, utile ! En cas d'annulation on peu lancer une procédure marketing pour le pousser a réitéré !

    En réfléchissant au champ "custom" de Paypal, j'en ai comprit ça limitation: La sécurité. Sans limite, il pourrait y avoir des abus, des scripts, ou même des surcharges du site.

    Dans le futur tutoyez moi, j'ai que 21 ans, je me sent pas pret pour le "vous" !

    Bref dans tout les cas je pense adopter ta solution. C'est marrant, tu arrives, tu lâches 3 lignes, et c'est juste l'idée qu'il me fallait !

    Thanks a lot !

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par bplus Voir le message
    Je médite sur ta solution, tu m'as ouvert l'esprit sur un point qui me semble a la limite de la violation des droits civile et numérique. Faut que je rédige quelque chose pour ça.
    Je crois pas qu'il soit obligatoire de le faire. De toutes façons il faut toujours enregistrer la commande avant le retour de Paypal (ou d'un autre moyen de paiement). Car cela te permet de gérer la continuité de la commande au cas où il y aurait un pb lors du retour... (la commande pourrait être payée et un incident technique pourrait interrompre le fonctionnement de la confirmation en retour par exemple).

  5. #5
    Membre à l'essai
    Homme Profil pro
    Alternance
    Inscrit en
    Juin 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Alternance
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2013
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    Nouveau soucis , j'ai ceci:

    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
    $header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
    $header .= "Host: www.sandbox.paypal.com:443\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);
     
     
    $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) {
          echo "%NIP-F-SOCKOPEN, HTTP error " . $errno . " " . $errstr;
          exit;
    }else {
    	fputs ($fp, $header . $req);
    	while (!feof($fp)) {
    		if (strcmp ($res, "VERIFIED") == 0) {
    			$res = fgets ($fp, 1024);
    			// vérifier que payment_status a la valeur Completed
    			if ( $payment_status == "Completed") {
     ...
    Ici j'ai une boucle infinie ... Auriez-vous une idée de pourquoi ? De comment la corriger ?

    Merci d'avance

    Cordialement

    Brian

  6. #6
    Membre à l'essai
    Homme Profil pro
    Alternance
    Inscrit en
    Juin 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Alternance
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2013
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    J'ai trouvé la correction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while (!feof($fp)) {
    		if (strcmp ($res, "VERIFIED") == 0) {
    			$res = fgets ($fp, 1024);
    or il faut remonté $res et faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while (!feof($fp)) {
    		$res = fgets ($fp, 1024);
    		str_replace('\n', '', $res);
    		if (strcmp ($res, "VERIFIED") == 0) {
    Mais une autre question me viens. J'ai des soucis pour debug ce fichier, ne l'ayant pas sous les yeux lors de sont appel, je ne peu pas voir les problèmes php développé. Est-il possible de stocker ces erreurs de façon a ce que je puisse les traiter ?

    En vous remerciant d'avance.

    Cordialement

    bplus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PayPal] Demande Aide pour API Paypal NVP
    Par Kratos77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 12/06/2012, 10h24
  2. [SugarCRM] ajout d'un champs custom dans un dashlet
    Par alexkickstand dans le forum SugarCRM
    Réponses: 1
    Dernier message: 07/07/2010, 10h53
  3. API paypal sur mon site www.imvintage.fr
    Par melro dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 20/04/2010, 10h18
  4. [PayPal] API Paypal
    Par pluche dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 26/02/2010, 16h44

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