Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:paypal:website:start [2020/10/25 13:58] admintutoriel:paypal:website:start [2022/08/13 21:58] (Version actuelle) – modification externe 127.0.0.1
Ligne 17: Ligne 17:
   - Un lien sur la page ramène l'acheteur sur le site du vendeur où l'opération se termine.    - Un lien sur la page ramène l'acheteur sur le site du vendeur où l'opération se termine. 
  
-{{ :tutoriel:paypal:website:website-01.gif?400 |}}+{{ tutoriel:paypal:website:website-01.gif?400 |}}
  
-====== Pré-requis ======+===== Pré-requis =====
  
   * Disposer d'un compte Paypal   * Disposer d'un compte Paypal
  
-====== Première étape : Essais avec des comptes de test ======+===== Première étape : Essais avec des comptes de test =====
  
 Effectuer un test : voir la page [[tutoriel:paypal:test:start]] Effectuer un test : voir la page [[tutoriel:paypal:test:start]]
  
-====== Autres étapes ======+===== Autres étapes =====
  
-===== Utiliser l’IPN Paypal avec PHP =====+==== Utiliser l’IPN Paypal avec PHP ====
  
 Paypal offre divers exemples de codes [[https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_code_ipn_code_samples|]] (PHP : [[https://cms.paypal.com/cms_content/US/en_US/files/developer/IPN_PHP_41.txt|ici]]) à insérer sur son site, il suffit de le copier/coller en y ajoutant les actions que vous voulez effectuer selon les cas. Paypal offre divers exemples de codes [[https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_code_ipn_code_samples|]] (PHP : [[https://cms.paypal.com/cms_content/US/en_US/files/developer/IPN_PHP_41.txt|ici]]) à insérer sur son site, il suffit de le copier/coller en y ajoutant les actions que vous voulez effectuer selon les cas.
Ligne 77: Ligne 77:
 Nb. Comme précisé en introduction, le but de cet article n’est pas de vous présenter une solution fonctionnelle de A à Z, mais de montrer comment intégrer un tel système, afin de pouvoir l’adapter facilement à votre site. Néanmoins, si vous avez besoin d’un exemple concret, voici un excellent article de Tuts+ (Anglais): [[http://net.tutsplus.com/tutorials/php/using-paypals-instant-payment-notification-with-php/|Utiliser l’IPN Paypal avec PHP]] Nb. Comme précisé en introduction, le but de cet article n’est pas de vous présenter une solution fonctionnelle de A à Z, mais de montrer comment intégrer un tel système, afin de pouvoir l’adapter facilement à votre site. Néanmoins, si vous avez besoin d’un exemple concret, voici un excellent article de Tuts+ (Anglais): [[http://net.tutsplus.com/tutorials/php/using-paypals-instant-payment-notification-with-php/|Utiliser l’IPN Paypal avec PHP]]
  
-===== Intégration de paramètres additionnels au bouton =====+==== Intégration de paramètres additionnels au bouton ====
  
 Comme nous venons de le voir, pour intégrer un bouton sur notre site, il suffit de copier/coller le code fournit par Paypal. Cependant, il peut s’avérer utile de passer des variables supplémentaires lors du paiement, afin par exemple, d’identifier un membre (upgrade de compte, etc.). De nombreuses options sont disponibles, voici [[https://merchant.paypal.com/fr/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables|votre bible]] à ce sujet. Comme nous venons de le voir, pour intégrer un bouton sur notre site, il suffit de copier/coller le code fournit par Paypal. Cependant, il peut s’avérer utile de passer des variables supplémentaires lors du paiement, afin par exemple, d’identifier un membre (upgrade de compte, etc.). De nombreuses options sont disponibles, voici [[https://merchant.paypal.com/fr/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables|votre bible]] à ce sujet.
Ligne 95: Ligne 95:
 Bien entendu, cela fonctionne de la même façon pour tous les options disponibles… Bien entendu, cela fonctionne de la même façon pour tous les options disponibles…
  
-===== Redirection vers le site =====+==== Redirection vers le site ====
  
 Une fois les vérifications concernant le paiement effectuées, il est possible de spécifier deux URLs de destination vers votre site (l’une pour un paiement validé, l’autre pour un paiement annulé). Cela n’est pas obligatoire, mais largement répandu, et honnêtement plutôt indispensable d’un point de vue ergonomique. (au moins pour ce qui est d’un paiement validé) Une fois les vérifications concernant le paiement effectuées, il est possible de spécifier deux URLs de destination vers votre site (l’une pour un paiement validé, l’autre pour un paiement annulé). Cela n’est pas obligatoire, mais largement répandu, et honnêtement plutôt indispensable d’un point de vue ergonomique. (au moins pour ce qui est d’un paiement validé)
Ligne 103: Ligne 103:
 nb. Ces pages de destinations sont définies à la création du bouton. (point #3 de ce tutoriel) nb. Ces pages de destinations sont définies à la création du bouton. (point #3 de ce tutoriel)
  
-===== Phase de test =====+==== Phase de test ====
  
 Maintenant que tout est prêt, il va falloir tester le système. Connectez-vous à votre compte développeur Paypal, ouvrez un session « Acheteur », puis rendez-vous sur la page ou vous avez mis le bouton paypal. En cliquant dessus vous allez être redirigés sur la page de paiement, telle qu’un acheteur la verra une fois que ce sera en ligne. Maintenant que tout est prêt, il va falloir tester le système. Connectez-vous à votre compte développeur Paypal, ouvrez un session « Acheteur », puis rendez-vous sur la page ou vous avez mis le bouton paypal. En cliquant dessus vous allez être redirigés sur la page de paiement, telle qu’un acheteur la verra une fois que ce sera en ligne.
Ligne 109: Ligne 109:
 Essayez différentes configurations (avec un compte acheteur approvisionné, non approvisionné, annuler des achats, etc.), et vérifiez scrupuleusement que l’intégralité des actions sensées êtres exécutées en fond sont correctement réalisées. (Selon ce que vous vendez cela peut impliquer de nombreuses requêtes et cas). Essayez différentes configurations (avec un compte acheteur approvisionné, non approvisionné, annuler des achats, etc.), et vérifiez scrupuleusement que l’intégralité des actions sensées êtres exécutées en fond sont correctement réalisées. (Selon ce que vous vendez cela peut impliquer de nombreuses requêtes et cas).
  
-===== Mise en ligne =====+==== Mise en ligne ====
  
 Pour passer à la mise en production de votre système de paiement, vous devrez reproduire les paramétrages que nous venons de voir à l’identique sur votre compte officiel. Une fois la solution en ligne, il est préférable de la tester une dernière fois afin de s’assurer qu’aucun grain de sable ne soit venu gripper l’engrenage sur la version définitive. Pour passer à la mise en production de votre système de paiement, vous devrez reproduire les paramétrages que nous venons de voir à l’identique sur votre compte officiel. Une fois la solution en ligne, il est préférable de la tester une dernière fois afin de s’assurer qu’aucun grain de sable ne soit venu gripper l’engrenage sur la version définitive.
Ligne 117: Ligne 117:
 Si tout est OK, pensez à a afficher vos Conditions Générales de Vente… Si tout est OK, pensez à a afficher vos Conditions Générales de Vente…
  
-===== Résumé =====+==== Résumé ====
  
 Comme vous l’aurez l’aurez compris, le mode de fonctionnement est le suivant : Comme vous l’aurez l’aurez compris, le mode de fonctionnement est le suivant :
  
-{{ :tutoriel:paypal:website:website-02.gif?400 |}}+{{ tutoriel:paypal:website:website-02.gif?400 |}}
  
 Ce qui est intéressant avec cet IPN, c’est qu’il communique en temps réel avec votre site, les informations sont donc synchronisées en fond de façon transparente. Peut importe si l’acheteur ferme son navigateur avant la page de remerciement de votre site, les informations sont déjà enregistrées dans votre base de données grâce à l’IPN. Ce qui est intéressant avec cet IPN, c’est qu’il communique en temps réel avec votre site, les informations sont donc synchronisées en fond de façon transparente. Peut importe si l’acheteur ferme son navigateur avant la page de remerciement de votre site, les informations sont déjà enregistrées dans votre base de données grâce à l’IPN.
  
-====== Conclusion ======+===== Conclusion =====
  
 Voilà pour ce tutoriel volontairement épuré, destiné à vous montrer de façon simple comment intégrer un système de paiement sécurisé via Paypal sur son site. Évidemment, il est possible d’aller beaucoup plus loin, l’API fournie par Paypal étant très complète. Des classes PHP existent aussi pour vous faciliter le travail, elles sont d’ailleurs souvent indispensables pour travailler dans de bonnes conditions. Voilà pour ce tutoriel volontairement épuré, destiné à vous montrer de façon simple comment intégrer un système de paiement sécurisé via Paypal sur son site. Évidemment, il est possible d’aller beaucoup plus loin, l’API fournie par Paypal étant très complète. Des classes PHP existent aussi pour vous faciliter le travail, elles sont d’ailleurs souvent indispensables pour travailler dans de bonnes conditions.
  
-====== Problèmes connus======+===== Problèmes connus =====
  
-====== Voir aussi ======+===== Voir aussi =====
  
   * [[http://www.lafermeduweb.net/billet/tutorial-integrer-paypal-a-son-site-web-en-php-partie-1-275.html//]]   * [[http://www.lafermeduweb.net/billet/tutorial-integrer-paypal-a-son-site-web-en-php-partie-1-275.html//]]