Consommer une API ☑︎
La consommation d'une API avec Symfony
Consommer une API
Les API sont le liant entre les applications. Elles permettent de récupérer des données d'une application à une autre. Elles sont donc très utiles pour les applications mobiles, les applications web, les applications de bureau, etc.
Pourquoi consommer une API ?
Pour avoir accès à des données dont vous ne disposez pas ou qu'il serait trop long et coûteux de développer vous-même.
Pour utiliser des services externes à votre application (paiement en ligne, envoi de mail, envoi de SMS, etc.)
Vous voyez donc que les API sont très utiles et qu'il est important de savoir les consommer dans vos applications web.
Comment consommer une API avec Symfony ?
Il existe plusieurs manières de consommer une API avec Symfony. Nous allons voir comment le faire avec Stripe, un service de paiement en ligne.
Contexte, vous avez un site web commerçant et vous souhaitez proposer le paiement en ligne à vos clients. Vous allez donc utiliser Stripe pour gérer les paiements. Nous allons voir ensemble comment mettre cela en place à partir de l'étape du paiement.
Thème : Location de salle de réunion
L'internaute visite le site web
Ajout des produits ou service dans un panier
Validation de la commande
Paiement de la commande <- À PARTIR D'ICI
Validation du paiement
Gestion de la commande
Installer le SDK Stripe
Pour commencer, il faut installer le SDK Stripe dans votre projet Symfony. Pour cela, il faut utiliser Composer.
Créer un compte Stripe
Ensuite, il faut créer un compte Stripe. C'est sur ce compte que vous allez gérer vos paiements. Vous pouvez créer un compte sur le site de Stripe. Puis récupérez votre clé secrète et votre clé publique depuis votre tableau de bord "Développeurs" > "Clés API".
Une fois que vous avez récupéré vos clés, il faut les ajouter dans votre fichier .env
:
Ce n'est pas tout, il faut aussi ajouter la référence de ces clés dans votre fichier services.yaml
:
Cette configuration permet de rendre vos clés accessibles dans votre application Symfony de manière globale. Il suffit de les appeler avec $this->getParameter('STRIPE_SECRET_KEY')
et $this->getParameter('STRIPE_PUBLIC_KEY')
.
Créer un controller pour gérer le paiement
Maintenant, il faut créer un controller pour gérer le paiement. Pour cela, créez un controller PaymentController
avec la commande suivante :
Maintenant nous pouvons mettre en place le nécessaire pour gérer le paiement. Pour rappel l'exemple ici est le paiement d'une location de salle de réunion. Nous allons donc créer une route qui va permettre de créer une session de paiement Stripe. Cette session va contenir les informations de la commande et permettre à l'internaute de payer. Retrouvez la documentation de Stripe sur Checkout.
Créer les routes Success et Cancel
Maintenant, il faut créer les routes payment_success
et payment_cancel
qui vont permettre de gérer l'affichage de la page pour le succès ou l'échec du paiement.
Créer les templates
N'oubliez pas de créer les templates payment/success.html.twig
et payment/cancel.html.twig
pour afficher les pages de succès et d'échec du paiement. Vous pouvez les personnaliser comme vous le souhaitez.
Voici un exemple de code pour consommer une API avec Symfony. Vous pouvez bien évidemment l'adapter à vos besoins. Vous pouvez aussi utiliser d'autres services de paiement en ligne comme PayPal ou MangoPay.
Ce qu'il faut retenir, c'est que les API sont très utiles et qu'il est important de savoir les consommer dans vos applications web afin d'améliorer l'expérience utilisateur.
Dernière mise à jour