Intégrer PayPal Express Checkout à son site en PHP

PrimFX Boris ('PrimFX') Le 10 mars 2018

Obtenir des Credentials

Disclaimer : Si vous êtes à l’aise avec les Credentials PayPal, comptes Sandbox, comptes Business, etc. vous pouvez passer cette partie dans son intégralité et aller directement au chapitre suivant 😃

Avant de débuter la partie programmation de la mise en place de notre système de paiement, il va falloir créer un compte PayPal (merci captain obvious) mais également (et surtout) demander à PayPal des « API Credentials ». Pour quoi faire ? Les Credentials constituent une sorte de certificat d’authentification, composés de jetons de sécurité (« Authentication Tokens »). En laissant de côté ces termes barbares, les Credentials sont simplement deux codes que PayPal générera aléatoirement à votre demande et qui vous permettront de vous authentifier à chaque requête envoyée à l’API depuis votre serveur. Parce que c’est déjà pas mal de demander à PayPal d’exécuter un paiement, mais c’est encore mieux si vous pouvez le récupérer sur votre compte en précisant justement ces Credentials dans votre requête 😋

De plus, PayPal, en générant ces Credentials, génère en fait deux fois deux codes : une des paires permet d’utiliser le système PayPal en « Live », en production si vous préférez, tandis que l’autre permet une utilisation « Sandbox ». A quoi ça sert ? Eh bien, vous ne voudriez pas – je suppose – effectuer tous vos tests de paiement en offrant les frais de transaction à PayPal lors de chaque essai… C’est pourquoi PayPal propose un switch entre deux modes, Sandbox et Live, qui vous permettra de passer en quelques clics d’un environnement de tests (bac-à-sable) à un environnement réel.

Passer à un compte Business

Par défaut, avec un compte PayPal personnel (standard), il est uniquement possible d'implémenter un système de paiement en mode Sandbox sur votre site. Si vous souhaitez passer en environnement réel, il vous faudra obligatoirement un compte Business.

Libre à vous, donc, de suivre cette partie selon vos besoins : si vous souhaitez uniquement tester l'intégration de PayPal Express Checkout pour l'instant, vous pouvez passer à la partie suivante ("Générer les Credentials") et rester en mode Sandbox.

De la même façon, si vous possédez déjà un compte Business, vous pouvez passer cette partie.

Si vous souhaitez passer votre compte PayPal en mode Business, voici la procédure à suivre (notez toutefois que le passage à un compte Business est possible uniquement si vous avez une société) :

  • Dans un premier temps, rendez-vous sur https://www.paypal.com/ et connectez-vous à votre compte.
  • En bas de votre tableau de bord, vous devriez trouver un lien « Opter pour un compte Business ». Cliquez dessus.
      • A présent, une page s’ouvre vous proposant au choix de créer un nouveau compte Business, ou bien de surclasser le compte sur lequel vous êtes actuellement connecté : libre à vous de choisir l’option qui vous convient le mieux. 
      • Il vous suffit à présent de suivre les étapes indiquées par PayPal pour accéder aux fonctionnalités Business de la plateforme (à savoir le système de paiement qui nous intéresse ici). La procédure est très rapide et consiste simplement à renseigner à PayPal quelques informations sur votre société. 

      Générer les Credentials

      • Rendez-vous sur l’espace PayPal Developer via https://developer.paypal.com/
      • Connectez-vous à votre compte en cliquant sur le bouton « Log into Dashboard » en haut à droite de la fenêtre (si vous êtes déjà connecté, vous devriez voir votre nom en haut à droite de la page, vous pouvez simplement passer votre souris dessus et cliquer sur « Dashboard »).
      • Vous êtes à présent dans votre tableau de bord développeur, depuis lequel nous allons créer les fameux Credentials dont je parlais un peu plus haut.
      •  
      • La première chose à faire sur votre espace développeur est de vérifier que les paiements sont bien activés. Pour cela, rendez-vous dans l’onglet « My Account » et vérifiez la présence d’une marque verte à côté de « PayPal Payments ». Si ce n’est pas le cas, vous devriez pouvoir l’activer en cliquant sur « Enable ». Par défaut, l’intégralité des fonctionnalités sont activées en mode Sandbox, mais nécessitent un compte Business pour être activées en Live.
      •  Avant de demander les Credentials – on y arrive bientôt, je vous rassure 😉 – il faut savoir que chaque Credential est lié à un compte Sandbox pour vos essais. Normalement, PayPal devrait avoir créé automatiquement des comptes Sandbox pour vous. Vous pouvez vérifier cela en vous rendant dans l’onglet « Accounts ». Un premier compte, de la forme « [votre_email]-facilitator@[votre_domaine] », de type « Business » vous permettra de récupérer les paiements (il s’agit de votre compte test vendeur). Un deuxième, de la forme « [votre_email]-buyer@[votre_domaine] », de type « Personal » vous permettra d’effectuer des paiements (il s’agit de votre compte test client). Si ces comptes n’apparaissent pas dans votre onglet « Accounts », vous pouvez les créer grâce au bouton « Create Account ».  
      • S’ils apparaissent bien, il vous faudra tout de même configurer un mot de passe pour ces comptes, afin de pouvoir y accéder depuis le tableau de bord PayPal Sandbox (nous y reviendrons juste un peu plus bas). Pour chacun de vos comptes Sandbox, vous pouvez cliquer sur la flèche à côté de l’adresse email, puis « Profile », puis « Change password » dans la fenêtre que vous verrez apparaître.
      • Les comptes Sandbox étant créés et les mots de passes bien définis, vous pouvez dès à présent, si vous les souhaitez, jeter un coup d’œil à ces comptes Sandbox. Pour cela, il vous suffit de vous rendre sur https://www.sandbox.paypal.com, de cliquer sur « Connexion » et de renseigner une de vos adresses email Sandbox ainsi que le mot de passe correspondant. Dans le cas du compte buyer (client), par exemple, vous devriez voir une importante somme d’argent sur votre solde (ça fait rêver, je sais, mais je vous arrête tout de suite : on est sur notre compte Sandbox 😅), un compte bancaire, une carte bancaire, etc. Bref, tout comme sur un vrai compte PayPal, excepté le petit « sandbox » dans l’URL qui nous rappelle que tout est factice. Pour l’instant, se connecter à nos comptes Sandbox n’a pas grand intérêt. Ce sera plus parlant lorsque nous effectuerons des tests de paiements : les comptes client / vendeur nous permettront de voir l’intégralité des transactions effectuées et si notre système fonctionne correctement.
      • Maintenant que notre compte PayPal est opérationnel et que les comptes Sandbox le sont tout autant, nous pouvons enfin passer à la dernière étape : demander à PayPal de générer nos Credentials (oui, ça fait un moment que je vous en parlais). Pour cela, il vous suffit de vous rendre dans l’onglet principal « My Apps & Credentials », de descendre jusqu’à la section « REST API apps » et de cliquer sur le bouton « Create App ». Il ne vous restera ensuite plus qu’à donner un nom à votre application (ici « Le TUTO »), à lier cette application à un compte Sandbox vendeur créé précédemment (dans mon cas il s’agit de [mon_email]-facilitator@gmail.com), et à cliquer sur le bouton « Create App ».
       

      Et voilà ! Vous avez à présent vos Credentials, et après tant d’étapes, autant dire que vous les avez bien mérité 😀 Vous remarquerez également la présence du petit switch Sandbox / Live dont je vous parlais un peu plus tôt en haut à droite de la page.

      Plus bas, une box vous indique votre « Client ID » ainsi qu’un « Secret » masqué par défaut. Ces deux données sont simplement des jetons (« tokens » en anglais) qui permettront de nous authentifier auprès de PayPal lors de nos requêtes sur son API. Généralement, on évite de communiquer ces informations à d’autres personnes, en particulier pour le Secret qui doit toujours rester, comme son nom l’indique… secret !


      Notre compte PayPal étant entièrement configuré et prêt à accepter des paiements, nous pouvons à présent passer à la partie programmation 😎


      A propos de l'auteur

      PrimFX
      Boris ('PrimFX')

      Je m'appelle Boris, j'ai 22 ans et je suis passionné d'informatique. Suite à mes études (Licence Informatique puis MSc Computer Science au Trinity College Dublin), je gère l'entreprise Single Quote co-fondée en 2019 et je profite de mon temps libre pour partager ma passion à travers des vidéos & articles 😃