Venez baraguiner avec la communauté !
Vous n'êtes pas identifié.
Topic officiel de support pour le tutorial: " Intégrer PayPal à son site web en PHP".
Objectif de ce tutorial
Le but de ce tutorial est de vous guider pas à pas dans l'intégration du service de paiement en ligne paypal et de vous expliquer comment fonctionne le processus de paiement ...
Ce tutorial s'applique uniquement aux sites développés en PHP.
Plan du tutorial:
* Principe de fonctionnement de PayPal
* Création des comptes de test dans la sandbox PayPal
* Mise en place du bouton de paiement
* Essais de paiements avec les comptes de test
* Récupération des données de l'IPN
* Validation et enregistrement du paiement en PHP
Support et observations
N'hésitez pas à poser vos questions et observations dans ce topic.
Aucun support sur les commentaires ne sera fourni.
Hors ligne
Salut
Deja , tres bon tuto , merci.
J'ai suivi ton tuto a la lettre mais ce pendant je bloque a la creation de me comptes , il reste tous au statut "unverified" , et apres multiple recherche la seul facon de le rendre verfied et de lié sa carte bancaire a son compte . Mais je n'en suis pas sur , n'ayant pas de carte bleue je n'ai pu allez plus loin dans mes tests.
Donc j'aimerais bien savoir si il faut absolument passer par cette liaison carte bleu compte.
De plus je n'arrive pas a me connecter sur l'interface sandbox , avec mes compte buyer et seller qui ont des adresse mails généré a partir du compte principal, mais seulement avec avec le compte principal.
Voila , encore merci
A plus
Hors ligne
Euh tu parle du verified dans la sandbox ou en production réelle ? Car dans la sandbox tu n'a pas à les vérifier, ils sont fictifs ...
C'est normal que tu n'arrive pas a te connecter sur le site développeur avec les adresses fictives.
Il faut que tu aille dans Tests Accounts t'en sélectionne une des deux adresse et tu lance la sandbox en cliquant sur le bouton jaune.
Hors ligne
Salut
Merci de ta réactivité.
Je parle de la sandbox, je n'ai pas de carte bleue pour mon créer un réel.
Sinon pour ce qui s'agit de la connection , je voualis dire que quelque soit le compte que je selectionne avec le bouton radio dans "Test Account" et qu'ensuite je clic sur enter sandbox test site , ca me mettait toujours le nom de mon compte principale en tant que connecter.
Mais , c'est bon au moment ou j'ecris ses lignes tout est rentrer dans l'ordre , j'avais une fautre de frappe dans le formulaire. de saisie que je t'ai repiquer.
Et en effet meme en status "unverified" et avec tout en disabled ca à l'air de marcher .
Merci pour ton execelent tuto tres bien fais , j'en avais besoin pour integrer un module de paiement dans un formulaire generé par phplist.
Je peus passer a la suite.
Encore merci , et tres jolie ton site.
a plus.
Hors ligne
Salut,
merci pour le tuto, c'est assez clair,
cependant, il me reste un soucis dans la page notify_url.
je pense qu'elle vient de la ligne $res = fgets ($fp, 1024);
je pense que $res est vide et donc il ne rentre jamais dans la condition.
y a-t-il une subtilité à cet endroit? 
Hors ligne
Non je ne vois pas pourquoi ça ne fonctionnerais pas...
Ca ne rentre pas dans la condition:
# if (!$fp) {
# // ERREUR HTTP
# } else {
??
Ca rentre bien dans le Else ?
Hors ligne
non ca rentre bien dans le else, j'ai un peu tout testé c'est là qu'est mon soucis.
j'ai "fprinté" $res et il est vide.
Je commence à me demander si ça pourrait venir de l'hebergeur (???).
En tous cas je seche un peu, si vous avez une autre idée à me proposer... 
Hors ligne
Ah oui c'est possible que ça vienne de ton hébergeur, si il bloque tous les sockets. Essaye peut être un autre script qui utilise des sockets pour voir si ça ne viendrait pas de là.
Hors ligne
Salut, merci de ton aide.
En fait c'est la première fois que j'utilise des sockets et je ne suis pas vraiment sur de savoir ce que c'est.. 
J'ai un peu cherché et je ne trouve pas de script basique qui teste les sockets..
Je ne trouve rien à propos de cela dans mon manager ovh, et je commence un peu à déprimer.
connais-tu un exemple de script qui teste les sockets?
y a-t-il moyen, en cas de besoin, de forcer l'ouverture de ceux_ci?
merci..
Hors ligne
Salut, j'ai du chercher pas mal de temps avat de comprendre, tu fais probablement un copier/coller de l'adresse, et si tu regrades bien il y a un espace avant le @.
supprime le et enjoy 
Hors ligne
Tout marche super .......merci bien ! 
Hors ligne
Une dernière petite question : Peux t on récupérer aussi l'adresse de shipping ?
Merci
Hors ligne
Merci pour ce tuto à la fois simple à lire et clair, après l'avoir lu 2 fois, je souhaite poser 2 questions pour vérifier qu'il convient bien à ce que je souhaite faire:
Je suis en train de créer un site de vente avec un caddie, puis je utiliser le formulaire décrit dans le tuto en mettant le montant de la transaction (amount) égale au total du panier ?
Et dans le cas ou l'acheteur ne dispose pas d'un compte Paypal, peut il payer en saisissant seulement les coordonnées de sa carte bancaire (N° à 16 chiffres + date de la carte + crypto) ou est il obligé de créer un compte Paypal ?
Merci pour pour vos réponses, car pour débuter la vente sur le net, Paypal est le seul moyen d'éviter un compte de VAD qu'il est très difficile d'obtenir auprès d'une banque.
A bientot
Alex34.
Hors ligne
Bonjour,
Tout d'abord félicitation au webmasteur, le site est vraiment très réussi !!!
Pour revenir à ce tuto, j'ai tout comme le membre fullflash, un soucis au niveau de la connexion à Sandbox avec les deux profils "seller" & "buyer".
En effet, quand je me rends dans la rubrique "Test Accounts", j'ai beau sélectionner (via le bouton radio) puis cliquer sur le bouton "Enter Sandbox Test Site", il m'est impossible de me connecter via l'interface Sandbox dans la nouvelle page ouverte. (message rencontré : "Veuillez vérifier que vous avez saisi correctement votre adresse email et votre mot de passe.")
Or, j'ai tout essayer (taper 15000 fois mon ID & MDP, changer de compte, les supprimer, les recréer, utiliser le mail "Log-in email", etc) mais rien à faire ...
Si quelqu'un à la moindre idée concernant ce problème je suis preneur !
Au passage, je dois également mettre en place le système AlloPass donc à bon entendeur ... ^^
En vous remerciant par avance.
J'attends vos réponses avec impatience :p
@ très bientôt.
P6
PS : solution trouvée, autant pour moi ...
(de toute façon c'est toujours pareil : on passe des heures à chercher la solution au problème rencontré et c'est une fois le post effectué qu'on trouve la solution).
Pour info, le problème venait d'un copier coller foireux (car le mail est coupé dans le champs "Log-in email") résultat un espace venait s'insérer entre le "_" et le "biz" d'où le massage d'erreur ...
Sur ce, j'retourne sur le tuto 
Dernière modification par P6R4N0 (09/04/2009 12:21:18)
Hors ligne
Je viens enfin de finir l'intégration de Paypal !!!
A noter que j'ai passé l'étape "Validation et enregistrement du paiement en PHP" et ça semble fonctionner correctement (perso. j'ai pas trouvé nécessaire de stocker une trace de chaque paiement dans une table dédiée).
Encore un grand merci à DJo de nous avons pondu ce tuto ! 
Sur ce ...
++
P6
Hors ligne
Salut,
j'ai un petit problème avec le script de récupération de l'IPN.
C'est super simple il ne récupère strictement rien, ça viens sûrement du fait que que j'utilise la réécriture d'url et que le script est sous forme de fonction.
Je voudrais juste savoir comment IPN transmet les infos au script, si c'est par l'url ou autre.
Merci d'avance, cordialement, Bloody-wave
Hors ligne
Rebonjour,
Merci, je n'ai eu aucun probleme à récupérer toutes les informations de l'IPN.
Après plusieurs semaines de test et d'utilisation en mode démo, je me pose une dernière question avant de procéder à la mise en ligne réelle :
Pourquoi le numéro de transaction unique est différent dans les emails recus sur Buyer et seller ?
La valeur de la variable "txn_id" que je récupere de l'IPN n'est pas la même que celui donné par Paypal lorsque "buyer" paye.
Merci à vous
Hors ligne
Bonjour
merci pour ce tuto très clair.
Evidemment, j'ai un problème avec IPN 
Le paiement fonctionne bien, mon compte seller est crédité, le compte buyer est débité.
Paypal appel bien la page notify_url mais le script passe dans la boucle
else {
// Statut de paiement: Echec
}Avez-vous une idée du pourquoi ?
Est-ce du à la sandbox ?
Merci pour votre aide
Hors ligne
YEs… ça fonctionne
Les emails n'étaient pas validés (vérifiés) dans la sandbox
grrrrrrr
Hors ligne
sinon, je suis chez 1and1, merci
Hors ligne
Bonjour,
je ne comprend pas l'interet du script avec IPN, car il n'est pas appelé en fait, quand on effectue le paiement et qu'on valide on nous renvoie vers la page
<input name="return" type="hidden" value="http://domaine/paiementValide.php" />
ou
<input name="cancel_return" type="hidden" value="http://domaine/paiementAnnule.php" />
Mais pas vers
<input name="notify_url" type="hidden" value="http://validationPaiement.php" />
bref je suis perdu dans cette 2ème partie
pourtant tout à l'air de fonctionner, je voudrais juste comprendre en fait
Hors ligne
En fait les URLs return et cancel_return servent à rediriger l'utilisateur sur des pages d'informations:
- Vous avez bien payé ... pour le premier
- Vous avez annulé votre paiement ... pour le deuxième
La notify_url est appelée uniquement par paypal lorsqu'un paiement a bien été réalisé.
Il permet d'envoyer des informations sur le paiement: Montant, devise, à qui l'argent a été envoyée, quels sont les paramètres persos (exemple ID du membre sur ton site).
Ce script va vérifier que toutes les données sont correctes ... tu dois y faire des tests.
Ensuite, tu peux traiter le paiement si il est valide: Envoyer un produit, valider l'accès a un service, créditer des points ...
Mais il est uniquement appelé par PayPal et les membres n'y seront jamais redirigé.
Est-ce que c'est plus clair ?
Hors ligne