> Tutoriel d’intégration d’une solution solution de paiement en ligne par carte bancaire Stripe avec 3D secure sur votre application Laravel (Stripe JS V3).

Au fil des années, la plateforme Stripe a su séduire les développeur par sa facilité d’intégration : toutes les interactions avec ce prestataire s’effectuent via une API REST simple d’utilisation. Pour simplifier encore plus ces interactions, Stripe fournit une interface PHP permettant une intégration facilitée sur tous les frameworks PHP, y compris Laravel. Intégrez un formulaire de paiement en ligne à Laravel avec Stripe, comprenant le 3D Secure en quelques minutes !



Laravel, Stripe et 3D Secure : les prérequis

Avant de proposer une solution de paiement en ligne par carte bancaire sur votre application, il est nécessaire de :

  • Disposer d’un compte Stripe : vous pouvez en créer un rapidement via ce lien. Suivez simplement les étapes d’inscription. Si vous souhaitez en savoir plus sur les tarifs de la plateforme, rendez-vous sur cette page (1,4% + 0,25€ par transaction pour les cartes européennes, 2,9% + 0,25€ pour les cartes non-européennes).
  • Disposer d’une installation de Laravel. Vous pouvez suivre notre tutoriel Installer Laravel Sur Ubuntu 18.04 Avec Nginx, PHP Et Docker si ce n’est pas encore le cas.
logo stripe qwenty laravel 3d secure
Installer Laravel Sur Ubuntu 18.04 Avec Nginx, PHP Et Docker

Laravel, Stripe et 3D Secure : installation et mise en place du formulaire de paiement en ligne

Ce tutoriel Laravel Stripe 3D secure concerne une implémentation simple de la plateforme de paiement en ligne (Stripe JS V3) afin d’accepter des paiements unitaires. Pour mettre en place un processus de paiements en ligne récurrents, je vous conseil d’utiliser le package Laravel Cashier fourni par Laravel.

Étape 1 : installez le package Stripe (composer)

Rendez-vous à la racine de votre projet et utilisez la commande suivante :
> composer require stripe/stripe-php

Cette commande installe la librairie offrant une interface simplifiée d’appels à l’API REST de Stripe.

Étape 2 :  création du formulaire de paiement en ligne

Afin d’ajouter un formulaire de paiement en ligne Stripe 3D Secure à votre application Laravel, ajoutez la route suivante dans votre fichier routes/web.php :

Route::get('/paiement', 'PaiementController@formulaire');

Il est maintenant nécessaire de créer notre nouveau contrôleur PaiementController et la fonction associée formulaire(). Exécutez la commande suivante (toujours à la racine de votre projet Laravel) :

> php artisan make:controller PaiementController

Étape 3 : création de la fonction d’affichage du formulaire de paiement en ligne Stripe 3D Secure

Copiez le code de notre notre nouvelle fonction à ajouter au contrôleur PaiementController (App/Http/Controllers) :



Puis créez le template /ressources/views/formulairePaiement.blade.php :

Ce formulaire contient un certain nombre de champs liés aux informations de facturation (nom et prénom, adresse email, adresse et ville). Ces informations ne sont pas nécessaires au processus de paiement Stripe, mais vous pouvez mettre en place une logique vous permettant d’enregistrer ces données clients. Vous pouvez maintenant changer le montant de la transaction amount suivant vos besoins. Dans notre cas, ce montant se renseigne en centimes d’euros (5000 = 50€). N’oubliez pas de renseigner votre clé d’API publique Stripe, disponible sur votre dashboard : https://dashboard.stripe.com/test/apikeys.

Étape 4 : création de la fonction de réception des paiements en ligne

Le script Javascript inséré dans notre template exploite un fonction back-end à insérer dans notre application. Ajoutez la route suivante dans le fichier routes/api.php :

Route::post('/paiement', 'PaiementController@process');



Ajoutons maintenant la fonction process() à notre contrôleur de PaiementController :

N’oubliez pas de renseigner votre clé d’API secrète Stripe, disponible sur votre dashboard : https://dashboard.stripe.com/test/apikeys.

Étape 5 : mise en place de la route « paiement validé »

En cas de paiement réussi, vous pouvez rediriger l’utilisateur actuel vers la route de votre choix et ainsi effectuer les traitements propres à vos besoins. Ajoutez la route suivante dans votre fichier routes/web.php :

Route::get('/paiement-ok', 'PaiementController@paiementOK');

Puis la fonction associée dans le contrôleur PaiementController :

Étape 6 : Test du formulaire de paiement en ligne

À ce stade, vous disposez d’un formulaire de paiement Stripe prenant en charge le 3D Secure pour les cartes bancaires associées. Rendez-vous à l’URL /paiement de votre application et renseignez le formulaire avec les cartes bancaires de test proposées par Stripe :

  • Carte VISA classique sans 3D Secure : 4242424242424242 – Date : Supérieure à la date du jour – CCV : 123
  • Carte VISA classique avec 3D Secure : 4000002500003155 – Date : Supérieure à la date du jour – CCV : 123

Vous pouvez retrouver la liste de toutes les cartes proposées par Stripe à l’adresse suivante : https://stripe.com/docs/testing.

Pour visualiser vos transactions, rendez-vous sur votre tableau de bord Stripe : https://dashboard.stripe.com/test/payments



Gatien Sancho

Gatien Sancho

Passionné de développement et nouvelles technologies, j'ai plaisir à partager mon savoir-faire avec les entreprises qui désirent donner un coup de pouce à la compétitivité de leurs services.

QWENTY

Développement, Cloud, Business Intelligence à Strasbourg.

 

À PROPOS

7 rue de Bucarest

67000 STRASBOURG

+33 06 01 82 24 04

gatien.sancho@qwenty.fr