{{tag>BROUILLON}}
====== PayPal : Test des appels de l'API classique ======
Le service Paypal a évolué. Voici la nouvelle marche à suivre pour les tests.
Les sections suivantes décrivent comment tester vos applications avec le bac à sable :
* [[https://developer.paypal.com/docs/classic/lifecycle/sb_credentials/|Obtenir les informations d'identification pour l'essai]]
* [[https://developer.paypal.com/docs/classic/lifecycle/sb_calls/|Faire des tests d'appel]]
* [[https://developer.paypal.com/docs/classic/lifecycle/sb_tips/|Trucs et astuces]]
----
Pour tester le système, PayPal a mis en place un environnement de test virtuel autonome, le **bac à sable** [[https://www.sandbox.paypal.com]] (<< Sandbox >>). Cet environnement reproduit l'environnement PayPal dans un espace protégé pour simuler des transactions avec des comptes de test PayPal virtuels.
L'environnement de test PayPal comprend :
* Le **site du bac à sable** ([[https://www.sandbox.paypal.com/]])
* La page des **comptes de test virtuels** (accessible par [[https://developer.paypal.com]]). Ces comptes représentent les utilisateurs qui participent aux opérations simulées pendant la phase de test. Créer au moins un compte de test pour chaque utilisateur représenté dans les transactions à tester.
Utilisés dans le bac à sable, les comptes de test virtuels et leurs codes d'identification permettent de simuler tout le processus PayPal, avec le même comportement que dans la réalité. PayPal crée des transactions virtuelles qui se comportent exactement comme les vraies. Le bac à sable garde la trace de toutes les transactions virtuelles, exactement comme le site PayPal dans la réalité.
===== Pré-requis =====
* Disposer d'un compte Paypal dédié aux tests.
Pour créer un compte Paypal, se rendre à l'adresse [[https://developer.paypal.com/]] et cliquer sur le bouton Sign' 'Up :
{{ tutoriel:paypal:compte-01.png |}}
Une page s'ouvre sur le site %%www.paypal.com%% ; sélectionner la France :
{{ ..:compte-03.png }}
Dans la page qui s'ouvre,
- choisir de créer un compte de type **Professionnel**
- et cliquer sur le bouton Continuer.
{{ tutoriel:paypal:compte-04.png |}}
Dans la page qui s'ouvre,
- donner une adresse e-mail valide (elle servira à valider le compte)
- et cliquer sur le bouton Continuer.
{{ tutoriel:paypal:compte-05.png |}}
Renseigner toutes les rubriques, cocher la case et cliquer sur le bouton Valider' 'et' 'continuer.
{{ tutoriel:paypal:compte-06.png |}}
Un mail est envoyé à l'adresse indiquée : surveiller la messagerie et répondre au mail pour activer le compte.
===== Première étape : Création des comptes de test =====
Le **compte développeur Paypal** permet de créer des comptes acheteur et vendeur fictifs pour tester une solution Paypal de paiement en ligne en simulant des paiements sans verser de fonds.
Le bac à sable prend en charge deux types de comptes de test :
* **Personal** : représente l'acheteur dans une transaction.
* **Business** : représente le vendeur dans une transaction.
Les comptes de test Sandbox sont des comptes virtuels qui n'existent que dans l'environnement du bac à sable.
Ils représentent des utilisateurs fictifs qui participent à des opérations simulées.
Pour tester une transaction PayPal, il faut créer au moins un compte de test **Business** et un compte de test de test **Personal**.
A la création d'un compte développeur PayPal, le bac à sable crée automatiquement un compte de test **Business** (nommé **...-facilitator@...**) et un compte de test de test **Personal** (nommé **...-buyer@...**) avec leurs codes de connexion. Ces comptes peuvent servir de modèle pour les autres comptes de test.
==== Création d’un compte développeur Paypal ====
Aller sur le site [[https://developer.paypal.com]]. Cliquer sur le bouton Log' 'In en haut à droite :
{{ tutoriel:paypal:compte-07.png |}}
Se connecter avec les paramètres du compte Professionnel (voir [[#Pré-requis]]) en renseignant :
- adresse mail
- mot de passe
- cliquer sur le bouton Log' 'In
{{ tutoriel:paypal:compte-08.png |}}
Dans la page qui s'ouvre,
- Cliquer sur **Dashboard** en haut
- Dans le menu qui apparaît à gauche, cliquer sur **Accounts** dans le paragraphe **Sandbox**
- Deux comptes modèles ont été créés :
* un compte **Business**, nommé d'après l'e-mail de connexion avec le suffixe **-facilitator**, représentant le vendeur
* un compte **Personal**, nommé d'après l'e-mail de connexion avec le suffixe **-buyer**, représentant l'acheteur
- En bout de ligne de chaque compte, une icône permet de le dupliquer.
{{ tutoriel:paypal:compte-09.png |}}
==== Création d'un compte vendeur fictif ====
Ce compte est en réalité un sous-compte du compte développeur.
Le mieux est de dupliquer le compte modèle.
Connecte-vous sur le site [[https://developer.paypal.com]] avec les paramètres du compte développeur PayPal.
Cliquez sur l'icône en bout de ligne du compte **-facilitator** et renseignez :
- Le prénom et le nom (quelconques)
- un e-mail
- un mot de passe
{{ tutoriel:paypal:compte-10.png |}}
l'e-mail n'a pas besoin d'exister mais doit avoir le même domaine que le compte développeur (après l'@)
Pour simplifier les tests, utilisez le même mot de passe pour tous les comptes de test (8 caractères, **11111111** suffit !).
Le nouveau compte est opérationnel sur le site [[http://sandbox.paypal.com]] :
{{ tutoriel:paypal:compte-12.png |}}
Sur ce site, on se retrouve sur une page Paypal du bac à sable
{{ tutoriel:paypal:compte-13.png |}}
==== Création d'un compte acheteur fictif ====
Créez de même un compte de test **Personal**, en dupliquant le compte **...-buyer@...**, qui représentera l'acheteur.
{{ tutoriel:paypal:compte-11.png |}}
Le nouveau compte est déjà opérationnel sur le site [[http://sandbox.paypal.com]] :
{{ tutoriel:paypal:compte-14.png |}}
==== Gestion des comptes du bac à sable ====
Pour gérer un compte du bac à sable, se connecter au site développeur de PayPal [[https://developer.paypal.com/]] et accéder à **Applications** > **Sandbox accounts**.
Pour gérer un compte du bac à sable,
- cliquer sur sa ligne,
- puis sur **Profile** :
{{ tutoriel:paypal:compte-19.png |}}
La boîte de dialogue **Accounts Details** s'affiche et permet de visualiser et configurer divers paramètres du compte,
- en particulier le mot de passe.
- Cliquer sur __Close__ pour terminer.
{{ tutoriel:paypal:compte-20.png |}}
Pour accepter des cartes de crédit dans les tests, il faut configurer en **Pro** le compte vendeur fictif :
- Dans la boîte de dialogue **Accounts Details**, cliquez sur le lien : **Account type: Upgrade to Pro**
- Dans l'écran qui s'ouvre, cliquez sur Activer
L'activation en Pro pour un compte vendeur est permanente et ne peut pas être annulée.
Pour tester tous les cas de figure, créez autant de comptes vendeur que nécessaire.
La suppression d'un compte de test Sandbox existant se fait dans la page **Sandbox test accounts** :
- Cocher la case dans la colonne de gauche du ou des compte(s) à supprimer.
- Cliquez sur le bouton Delete.
{{ tutoriel:paypal:compte-21.png |}}
Un message confirme la suppression des comptes de test.
===== Autres étapes =====
==== Création des pages du site web du vendeur : ====
Pour le site du vendeur, il faut créer 4 pages web :
- Une page qui contiendra le formulaire de paiement pour acheter le produit ou commander le service.
- une page qui affichera un message en cas de succès du paiement
- une page qui affichera un message en cas d'annulation du paiement
- une page qui traitera le paiement, appelée par PayPal grâce à la requête IPN lorsqu'un paiement est validé.
=== Formulaire de paiement ===
Maintenant que le compte vendeur est opérationnel, nous allons créer un bouton pour vendre un produit. Allez dans l’onglet Merchand Services, et cliquez sur le lien sell single item.
Différentes options assez explicites s’offrent à vous, paramétrez donc votre bouton selon vos besoins, les champs principaux étant la Description du produit/service et le prix (à ce titre, pensez à jeter un œil sur la [[https://www.paypal-france.fr/marchands/solutions-paiement/tarifs/|grille des commissions Paypal]] pour éviter les mauvaises surprises). C’est ici que s’ajoute l’option facultative concernant la redirection vers une URL spécifique de votre site à l’issu du paiement (étape 3 : options avancées)
Validez le formulaire en appuyant sur create button puis copiez/collez le code qui s’affiche à l’endroit désiré sur votre site pour y intégrer le bouton.
==== Compte vendeur fictif : activer les notifications Instantanées de paiement (IPN) ====
Les notifications Instantanées de paiement (IPN) permettent au site de communiquer avec Paypal, à travers une connexion sécurisée.
L’acceptation ou le refus du paiement est communiqué par ce moyen.
Aller sur le site du bac à sable : [[https://www.sandbox.paypal.com/fr/webapps/mpp/home]].
Se connecter avec le avec l'e-mail et le mot de passe du vendeur fictif. Dans ce compte,
- Dans l'onglet **Mon compte**
- menu **Préférences**,
- cliquer sur **Plus d'options**
{{ tutoriel:paypal:compte-15.png |}}
Cliquer sur **Préférences de Notification instantanée de paiement** :
{{ tutoriel:paypal:compte-16.png |}}
Cliquer sur le bouton Choisir' 'les' 'paramètres' 'IPN
{{ tutoriel:paypal:compte-17.png |}}
Enfin,
- renseigner une URL de notification (correspondant à l’emplacement du fichier **ipn.php**, qu’on va voir plus bas). ex: %%http://www.domain.com/inc/ipn.php%%
- cocher **Recevoir les messages IPN**
- et cliquer sur le bouton Enregistrer
{{ tutoriel:paypal:compte-18.png |}}
===== Conclusion =====
===== Problèmes connus =====
===== Voir aussi =====
* [[https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/]]
----
//Contributeurs principaux : [[:utilisateurs:jamaique]].//