Créer une intégration pour les abonnements
Créez et gérez des abonnements pour les paiements récurrents.
Personnalisez le logo, les images et les couleurs.
Utilisez les formulaires hébergés préconfigurés pour encaisser les paiements et gérer les abonnements de vos clients.
Dupliquez notre exemple d’intégration disponible sur GitHub.
Pour une version plus immersive de ce guide, reportez-vous à la documentation de démarrage rapide avec l’intégration Billing.
Visionnez la démo pour voir un exemple d’interface hébergée.
Ce que vous allez créer
Ce guide explique comment mettre en place des abonnements mensuels à tarif fixe à l’aide de Stripe Checkout.
Ce guide vous explique comment :
- Modéliser votre entreprise en créant un catalogue produits
- Ajouter une session Checkout à votre site, avec un bouton et des pages de confirmation et d’annulation
- Surveiller les événements d’abonnement et fournir l’accès à votre service
- Configurer le portail client
- Ajouter une session de portail client à votre site, avec un bouton et une redirection
- Permettre à vos clients de gérer leur abonnement sur le portail
Une fois l’intégration terminée, vous pouvez l’étendre pour :
- Afficher les taxes
- Appliquer des réductions
- Proposer une période d’essai gratuit aux clients
- Ajouter des moyens de paiement supplémentaires
- Intégrer la page de facture hébergée
- Utiliser le mode de configuration de Checkout
- Configurer une facturation à la consommation, grille tarifaire et une tarification à l’utilisation
- Gérer les calculs au prorata
- Autoriser les clients à s’abonner à plusieurs produits
- Intégrer les droits d’accès pour gérer l’accès aux fonctionnalités de votre produit
Configurer Stripe
Installez le client Stripe de votre choix :
Installez la CLI Stripe (facultatif). Elle vous permet de tester vos webhooks et de créer vos produits et vos tarifs.
Pour davantage d’options d’installation, consultez la page consacrée à l’interface de ligne de commande Stripe.
Créer le modèle tarifaireDashboard ou CLI Stripe
Créez vos produits et leurs tarifs dans le Dashboard ou via l’interface de ligne de commande Stripe.
Cet exemple utilise un service à tarif fixe avec deux options de niveau de service différentes : Basic et Premium. Pour chaque option de niveau de service, vous devez créer un produit et un tarif récurrent. (Si vous souhaitez ajouter un paiement ponctuel, par exemple des frais d’installation, créez un troisième produit avec un tarif unique. Par souci de simplicité, cet exemple n’inclut pas de paiement ponctuels.)
Dans cet exemple, chaque produit est facturé mensuellement. Le tarif du produit de base est de 5 USD. Celui du produit premium est de 15 USD.
Si vous proposez différentes périodes d’abonnement, utilisez Checkout pour faire de l’upselling et inciter vos clients à s’abonner sur une plus longue période afin de vendre plus.
Pour les autres modèles tarifaires, consultez ces exemples de facturation.
Créer une session CheckoutClient et serveur
Ajoutez sur votre site Web un bouton de paiement qui appelle un endpoint côté serveur afin de créer une session Checkout.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <!-- Note: If using PHP set the action to /create-checkout-session.php --> <input type="hidden" name="priceId" value="price_G0FvDp6vZvdwRZ" /> <button type="submit">Checkout</button> </form> </body> </html>
Sur le back-end de votre application, définissez un endpoint qui crée la session que votre front-end appellera. Vous avez besoin des valeurs suivantes :
- L’ID du tarif de l’abonnement que souscrit votre client (votre front-end transmet cette valeur)
- Votre
success_
, une page de votre site Web sur laquelle Checkout renvoie votre client une fois son paiement réalisé.url
Vous pouvez éventuellement spécifier une URL cancel_
, c’est-à-dire une page de votre site Web vers laquelle Checkout renvoie votre client s’il annule le processus de paiement. Cet appel vous permet également de configurer la date de début du cycle de facturation de votre abonnement.
Si vous avez créé un tarif ponctuel à l’étape 2, transmettez également cet ID de tarif. Après avoir créé une session Checkout, redirigez votre client vers l’URL renvoyée dans la réponse.
Note
Vous pouvez utiliser lookup_keys pour récupérer les tarifs plutôt que les ID de tarif. Utilisez l’application test pour en savoir plus.
Dans cet exemple, success_
est personnalisé en y ajoutant l’ID de session. Pour plus d’informations sur cette approche, consultez notre documentation sur la manière de personnaliser votre page de confirmation de paiement.
Dans votre Dashboard, activez les moyens de paiement que vous souhaitez accepter de vos clients. Checkout prend en charge plusieurs moyens de paiement.
Fournir l'accès au service et suivre les abonnementsServeur
Une fois son inscription réalisée, votre client revient sur votre site Web à la page success_
, qui initie un webhook checkout.
. À réception de cet événement checkout.
, vous pouvez lui donner accès à son abonnement. Continuez à lui assurer cet accès chaque mois (si facturation mensuelle) tant que vous recevez des événements invoice.
. Si vous recevez un événement invoice.
, signalez-le à votre client et dirigez-le vers le portail client pour qu’il mette à jour son moyen de paiement.
Pour déterminer la prochaine étape de la logique de votre système, vérifiez le type d’événement et analysez la charge utile de chaque objet Event, comme invoice.
. Stockez les subscription.
et customer.
des objets Event dans votre base de données pour vérification.
À des fins de test, vous pouvez surveiller les événements dans le Dashboard. En mode production, configurez un endpoint de webhook et abonnez-vous aux types d’événements appropriés. Si vous ne connaissez pas votre clé STRIPE_
, cliquez sur le webhook dans le Dashboard pour l’afficher.
Voici les types d’événement à suivre, a minima :
Nom de l’événement | Description |
---|---|
checkout. | Envoyé lorsque le client clique sur le bouton Payer ou S’abonner dans Checkout, ce qui vous signale un nouvel achat. |
invoice. | Envoyé à chaque période de facturation lorsque le paiement aboutit. |
invoice. | Envoyé à chaque période de facturation en cas de problème avec le moyen de paiement de votre client. |
Pour suivre davantage d’événements, consultez notre page sur les webhooks des abonnements.
Configurer le portail clientDashboard
Le portail client permet à vos clients de gérer directement leurs abonnements et factures existants.
Utilisez le Dashboard pour configurer le portail. Au minimum, veillez à le configurer de façon à ce que les clients puissent mettre à jour leurs moyens de paiement. Consultez la page sur l’intégration du portail client pour en savoir plus sur les autres paramètres que vous pouvez configurer.
Créer une session de portailServeur
Définissez un endpoint qui crée la session du portail client qui sera appelée par votre front-end. Ici, CUSTOMER_
fait référence à l’ID client créé par une session Checkout que vous avez enregistrée lors du traitement du webhook checkout.
. Vous pouvez également définir un lien de redirection par défaut vers le portail dans le Dashboard.
Transmettez une valeur return_
facultative pour la page de votre site vers laquelle rediriger votre client après qu’il a terminé la gestion de son abonnement :
Rediriger les clients vers le portail clientClient
Sur votre front-end, ajoutez à la page success_
un bouton redirigeant vers le portail client :
<html> <head> <title>Manage Billing</title> </head> <body> <form action="/customer-portal" method="POST"> <!-- Note: If using PHP set the action to /customer-portal.php --> <button type="submit">Manage Billing</button> </form> </body> </html>
Après avoir quitté le portail client, votre client revient sur votre site Web à la page return_
. Continuez à surveiller les webhooks pour suivre l’état de son abonnement.
Si vous configurez le portail client de manière à autoriser des actions telles que l’annulation d’un abonnement, consultez la page sur l’intégration du portail client pour découvrir des événements supplémentaires à surveiller.
Tester votre intégration
Tester les moyens de paiement
Utilisez le tableau suivant pour tester différents scénarios et moyens de paiement.
Moyen de paiement | Scénario | Méthode de test |
---|---|---|
Prélèvement automatique BECS | Le montant dû est réglé par prélèvement automatique BECS. | Remplissez le formulaire à l’aide du numéro de compte 900123456 et du BSB 000-000 . Le PaymentIntent confirmé passe d’abord à l’état processing , puis à l’état succeeded trois minutes plus tard. |
Prélèvement automatique BECS | Le paiement de votre client échoue avec un code d’erreur account_ . | Remplissez le formulaire à l’aide du numéro de compte 111111113 et du BSB 000-000 . |
Carte bancaire | Le paiement par carte bancaire aboutit et ne nécessite pas d’authentification. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte 4242 4242 4242 4242 ainsi que la date d’expiration, le CVC et le code postal de votre choix. |
Carte bancaire | Le paiement par carte bancaire requiert une authentification. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte 4000 0025 0000 3155 ainsi que la date d’expiration, le CVC et le code postal de votre choix. |
Carte bancaire | La carte est refusée avec un code de refus de type insufficient_ . | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro 4000 0000 0000 9995 ainsi que la date d’expiration, le CVC et le code postal de votre choix… |
Prélèvement automatique SEPA | Le montant dû est réglé par prélèvement automatique SEPA. | Remplissez le formulaire à l’aide du numéro de compte AT321904300235473204 . Le PaymentIntent confirmé passe d’abord à l’état processing, puis à l’état succeeded trois minutes plus tard. |
Prélèvement automatique SEPA | Le PaymentIntent de votre client passe de l’état processing à l’état requires_ . | Remplissez le formulaire à l’aide du numéro de compte AT861904300235473202 . |
Surveillance des événements
Configurez des webhooks afin qu’ils écoutent les événements de modification d’abonnement, tels que les mises à niveau et les annulations. En savoir plus sur les webhooks d’abonnement. Vous pouvez afficher les événements dans le Dashboard ou via l’interface de ligne de commande Stripe.
Pour plus d’informations sur les tests votre intégration Billing, lisez le guide.