
Les paiements récurrents dans Drupal Commerce avec PayPal. Comment configurer le module Braintree ?
Souhaitez-vous offrir une option de paiement récurrent dans votre boutique en ligne ? Si c'est le cas, cet article est fait pour vous. Vous apprendrez à configurer le module Drupal Commerce Braintree permettant le traitement des paiements via la passerelle Braintree, comment le lier à votre compte PayPal, et comment tester et lancer avec succès cette solution sur votre plateforme Drupal pour la vente en ligne.
Qu'est-ce que Braintree ?
Braintree est un service de paiement en ligne proposé par PayPal qui facilite l'acceptation des paiements sur les sites Web et les applications mobiles. Il prend en charge divers modes de paiement, y compris les cartes de crédit et de débit, PayPal, Apple Pay, Google Pay, et d'autres.
Les fonctionnalités de Braintree PayPal incluent :
- Intégration transparente : Braintree assure des SDKs (kits de développement logiciel) pratiques, qui sont un ensemble d'outils facilitant l'intégration avec diverses plateformes et technologies.
- Support multidevise : le service prend en charge les paiements dans plus de 130 devises, en faisant une solution attrayante pour les entreprises opérant sur les marchés internationaux.
- Outils avancés de gestion des risques : Braintree offre divers outils de gestion des risques et de prévention de la fraude, tels que le 3D Secure et les Outils Avancés de Fraude.
Braintree est donc une solution ecommerce complète qui vous permet de gérer les paiements en ligne de manière simple et sécurisée.
Installation des modules requis dans Drupal Commerce
Si vous avez suivi mon article précédent sur les paiements récurrents/abonnements dans Drupal Commerce en utilisant le module Commerce Recurring comme exemple, vous avez probablement déjà tous les modules requis.
Pour rappel, il s'agit de :
Vous installez les modules en appelant la commande dans le terminal :
composer require drupal/commerce_recurring drupal/commerce_braintree
Ou en les téléchargeant directement depuis drupal.org et en les décompressant dans le répertoire /modules/contrib.
Une fois que Composer a terminé le téléchargement, allez à la page de liste des modules (/admin/modules) et activez tous ceux mentionnés précédemment, ou utilisez Drush :
drush en commerce_recurring commerce_braintreee
Création et configuration de la passerelle Braintree
L'écosystème Drupal Commerce offre plus de 100 modules préconstruits qui prennent en charge divers services de paiement, tels qu'Amazon Pay, iDEAL, PayU, Stripe, PayPal ou Braintree (voir la documentation pour la liste complète). Dans ce billet de blog, nous nous concentrerons sur la configuration de cette dernière, en parcourant tout le processus étape par étape.
Obtenir les clés API de Braintree
Pour configurer correctement la passerelle de paiement, vous aurez besoin d'un compte Sandbox, que vous configurerez sur Braintree. Vous aurez également besoin d'une paire de clés pour l'application. Vous l'obtiendrez dans la section développeur du site. Le processus d'enregistrement est simple et intuitif.
Après avoir créé un compte, allez sur https://sandbox.braintreegateway.com/login et connectez-vous en utilisant les informations fournies lors de l'enregistrement. Cliquez sur l'icône d'engrenage dans le coin supérieur droit et allez à la sous-page API. Dans la section API keys, vous pouvez voir une entrée pour votre clé API.

Source : sandbox.braintreegateway.com
Cliquez sur le lien View pour voir les détails. Laissez l'onglet ouvert, car vous en aurez besoin pour une configuration ultérieure.

ID de compte marchand
Les informations supplémentaires dont vous avez besoin sont l'ID de compte marchand. C'est une valeur différente de l'ID du marchand. Pour le définir, cliquez sur l'icône d'engrenage et allez dans l'onglet Business.
L'ID de compte marchand est une chaîne alphanumérique unique que vous pouvez vous-même définir pour une identification plus facile. L'important ici est que lorsque vous créez un nouveau compte marchand, vous définissez la devise principale dans laquelle vous accepterez les paiements.

Configuration côté Drupal Commerce
Après l'installation du module, allez à la sous-page /admin/commerce/config/payment-gateways, où vous trouverez une liste de toutes les passerelles de paiement configurées sur votre plateforme Drupal Commerce. Cliquez sur le bouton Add payment gateway.
Le champ Nom est le nom qui identifiera votre passerelle sur le côté du panneau d'administration. De la liste Plugin, sélectionnez Braintree (Hosted Fields).
À ce stade, dans la section Mode, définissez le mode Test, et dans le champ Types de méthodes de paiement, sélectionnez les méthodes de paiement que vous souhaitez accepter (actuellement, le module pour Drupal ne prend en charge que le paiement direct par carte de crédit et PayPal).
En dessous, il y a des options supplémentaires pour configurer le plugin. Lorsque Collecter les informations de facturation est coché, les données du formulaire sont stockées dans Drupal. Selon la clause de non-responsabilité sous la case, assurez-vous que vous pouvez légalement vous dispenser de cette option et vous appuyer uniquement sur les données stockées dans Braintree.

Ensuite, remplissez les champs Clé publique, ID du commerçant, Clé privée, et ID de compte marchand avec les données obtenues de Braintree. Vous pouvez également imposer le 3D Secure, qui permet une authentification forte conformément à la directive sur les services de paiement 2 (DSP2).
L'option Activer les icônes de carte de crédit est strictement visuelle et détermine si les icônes des cartes de paiement seront visibles dans le formulaire de paiement :

Dans la section Conditions, vous pouvez décider sous quelles conditions la passerelle de paiement définie sera disponible, par exemple lorsque le client est connecté ou a des produits dans le panier pour un certain montant. Après avoir configuré cette section, cliquez sur Enregistrer pour passer à la liste des passerelles de paiement.
Vous pouvez également définir une condition selon laquelle Braintree ne sera disponible que pour les produits d'abonnement, en laissant d'autres passerelles de paiement pour le reste des produits.

Test de paiement
Maintenant, vous pouvez ajouter le produit à votre panier et effectuer tout le flux de commande, qui est le processus de finalisation de votre commande. Lorsque vous atteignez l'étape du paiement, sélectionnez une carte de paiement. Les détails du test sont : numéro de carte 4111 1111 1111 1111 1111, date d'expiration (ultérieure au mois et à l'année actuels), et un code CVV quelconque selon les instructions de test de PayPal Braintree.

Une fois que vous avez avancé et complété le processus de commande, vous avez créé un abonnement. Vous pouvez vérifier son statut actuel en allant à [page_drupal]/admin/commerce/subscriptions sur votre site web. Là, vous trouverez les détails :

Dans ce cas, l'abonnement acheté a été configuré pour se renouveler toutes les heures. Des paiements sont créés pour couvrir les périodes définies suivantes. De même, vous pouvez regarder le panneau Braintree, qui est disponible dans l'onglet Transactions.

Intégration de paiement PayPal
Tandis que le paiement par carte est disponible immédiatement après l'installation du module ("clé en main"), le paiement PayPal nécessite une configuration supplémentaire du côté de Braintree. Naviguez donc via l'icône d'engrenage vers l'onglet Processing. Ici, vous pouvez choisir quelles méthodes de paiement sont acceptées pour votre application. Sous l'interrupteur PayPal, cliquez sur Link Sandbox.

Obtenir les clés API PayPal
Pour configurer correctement la passerelle de paiement, vous aurez besoin d'un compte que vous configurez avec PayPal et d'une paire de clés pour l'application, que vous obtiendrez dans la section développeur du site. Le processus d'enregistrement est très intuitif.
Après avoir créé un compte, allez à https://developer.paypal.com/. Dans le coin supérieur droit, il y a un bouton Se connecter au tableau de bord que vous devez appuyer. Une fois connecté, allez à Apps & Credentials. Une page web apparaîtra pour que vous puissiez gérer vos applications.

Source : developer.paypal.com
Dans le coin supérieur droit de la page web se trouve l'interrupteur Sandbox/live. Pour commencer, concentrez-vous sur la configuration de la passerelle en mode Sandbox, cliquez donc sur Sandbox.
Dans la section REST API apps, cliquez sur le bouton Create app. Dans le champ Nom de l'application, entrez un nom pour votre application afin de pouvoir l'identifier dans le panneau développeur PayPal.
Dans le champ Sandbox business account, vous pouvez remarquer qu'il y a deux adresses email au choix : une dans le domaine personnel et l'autre dans le domaine professionnel. Ce sont des comptes de test créés par défaut sur PayPal pour tester les paiements. Si vous avez besoin de comptes supplémentaires, vous pouvez les créer en cliquant sur Sandbox>Accounts dans le menu de gauche puis sur Create account. Sélectionnez le compte dans le domaine @business.example.com comme le compte qui "possédera" l'application que vous créez.

Comme vous le verrez plus tard dans le post du blog, en mode live, ce champ est ignoré, car les clés de l'application sont liées directement au compte PayPal par défaut. Une fois le processus terminé, vous regarderez les informations sur l'application créée.
Dans le champ Sandbox account, vous verrez l'adresse email sandbox définie comme "propriétaire". À ce stade, vous êtes intéressé par les zones Client ID et Secret (vous devrez peut-être appuyer sur le bouton Afficher pour les révéler). Cette paire de clés vous permet de communiquer avec l'API de PayPal.

Ci-dessous, vous trouverez d'autres options de configuration, telles que la configuration de l'adresse à laquelle les utilisateurs devraient être redirigés après une transaction terminée. Nous recommandons de cocher la case Transaction Search, qui est décochée par défaut et offre l'accès à l'historique des transactions. Après avoir effectué des modifications, Enregistrez-les.
Ensuite, vous devez compléter les données requises dans la configuration du module Braintree.
Flux de commande
Maintenant, pendant le processus de commande, vous pouvez sélectionner PayPal comme option de paiement (n'oubliez pas de l'activer dans les paramètres de la passerelle). Après l'avoir sélectionnée, vous verrez un bouton PayPal jaune.
En étant conscient que la passerelle fonctionne temporairement en mode Sandbox test, vous avez besoin des détails de compte sandbox. Pour ce faire, allez à l'onglet Sandbox>Accounts sur la page développeur de PayPal. Là, vous verrez une liste de comptes développeur assignés à votre compte.

En vous souvenant que vous avez assigné un compte dans le domaine business.example.com à votre application, cliquez sur Afficher/modifier le compte pour le domaine personal.example.com. Depuis la fenêtre qui apparaît, copiez l'Email ID et le Mot de passe généré par le système (vous pouvez changer le mot de passe à tout moment en cliquant sur Changer le mot de passe) et collez-les dans les champs correspondants de la fenêtre de connexion apparue lors du processus d'achat.
Braintree PayPal - passer en direct
Après avoir testé le fonctionnement, vous pouvez passer en mode Live. Le processus ressemble à l'application Sandbox.
Pour ce faire, retournez au tableau de bord sur le site développeur PayPal et Braintree. Cliquez sur Live dans le bouton à bascule en haut de la page web et ensuite Create new app. Passez par le processus identique comme auparavant, en terminant par la réception des clés. Ensuite, retournez aux paramètres de la passerelle de paiement, cochez la case pour Live et remplissez avec les nouvelles données.
Félicitations ! Vous avez configuré avec succès la passerelle de paiement Braintree et l'avez liée à votre compte PayPal.
Paiements récurrents dans Drupal Commerce - résumé
D'après notre expérience avec les services Drupal Commerce mis en œuvre, nous savons que la configuration des paiements récurrents n'est pas compliquée. Et si vous avez suivi le billet de blog sur les abonnements mentionné au début de ce texte, vous avez déjà tout configuré. Dans le cas où vos abonnements sont basés sur des produits, vous n'avez rien d'autre à faire - il suffit que vos clients sélectionnent les options fournies par Braintree comme méthode de paiement, et le module Commerce Recurring s'occupera du reste.