Utiliser Stripe Billing pour activer les abonnements pour Commercetools
Configurez l'application Stripe pour le commerce composable pour activer les abonnements pour n'importe quel produit Commercetools.
Warning
Ce guide s’applique uniquement à l’application Stripe pour le commerce composé et ne couvre pas l’intégration de l’application Checkout.
Vous pouvez activer Subscriptions pour n’importe quel produit Commercetools, en définissant les attributs et variantes requis dans la section catalogue du centre marchand Commercetools. Lorsqu’un client achète un produit par abonnement, l’intégration utilise Stripe Billing pour enregistrer un paiement récurrent lié à cette commande. Stripe gère automatiquement l’abonnement et tente d’encaisser les paiements récurrents selon les paramètres définis dans Commercetools. En cas d’échec de paiement, Stripe peut notifier le client et lui demander de mettre à jour ses informations de facturation. Vous pouvez configurer ce comportement dans vos paramètres abonnements et e-mails. Si un paiement aboutit, votre site internet reçoit une notification webhook de Stripe. Le module crée alors automatiquement une nouvelle commande dans Commercetools pour chaque renouvellement. L’application recalcule à chaque itération les montants de livraison et de taxes pour chaque produit par abonnement récurrent.
Avant de commencer
- Vous avez installé l’application Stripe Payment pour le commerce composé.
- Stripe Billing est activé sur votre compte Stripe
- Vous avez créé des produits pertinents et leurs variantes à l’aide du type de produit généré par l’application appelée payment-app-subscription-information.
- Votre endpoint webhook gère les événements suivants :
invoice.paid invoice.payment_ failed

Configuration des variantes de produit
Activer et configurer les abonnements
Les abonnements sont automatiquement activés lorsque les produits récurrents sont publiés sur la vitrine Commercetools. Les produits sont configurés comme ponctuels et récurrents dans le centre marchand Commercetools. Pour marquer une variante de produit comme un abonnement, appliquez le type paiement-application-abonnement-informations Personnalisez et définissez les champs suivants :
| Champ | Description |
|---|---|
description | Une description de l’abonnement |
recurring_ | Définit la fréquence de facturation (jour, semaine, mois, année) |
recurring_ | Spécifie le nombre d’intervalles entre les facturations |
off_ | Indique si l’abonnement peut être utilisé hors session |
collection_ | Méthode de recouvrement des paiements (charge_ ou send_) |
days_ | Nombre facultatif de jours avant l’échéance de la facture (ne s’applique que lorsque le recouvrement est send_) |
cancel_ | Drapeau facultatif à annuler à la fin de la période en cours |
cancel_ | Date et heure spécifiques facultatives pour annuler l’abonnement |
billing_ | Jour facultatif du mois pour la facturation |
billing_ | Heure facultative de la journée pour la facturation |
billing_ | Date et heure spécifiques facultatives pour la date de début de la facturation |
trial_ | Durée facultative de la période d’essai (en jours) |
trial_ | Date et heure spécifiques facultatives pour la fin de la période d’essai |
missing_ | Comportement facultatif en cas d’absence de moyen de paiement à la fin de la période d’essai (annulation, create_ ou suspension) |
proration_ | Comportement facultatif pour le prorata lors de modifications (aucun, create_, ou always_) |
Aperçu des composants de base
La gestion des abonnements Stripe est principalement gérée par les services clés suivants :
- StripeAbonnementService : orchestrateur principal pour les opérations d’abonnement
- CtPaymentCreationService : gère la création des paiements CommerceTools
- StripePaiementService : gère le traitement des paiements et la création des commandes
- SubscriptionEventConverter : convertit les événements Stripe en transactions CT
Gestion des prorata

Gestion des prorata
Cette application prend en charge les calculs au prorata établis automatiquement selon la configuration des variantes de produit dans la section catalogue de produits Commercetools. Lorsqu’elle est activée :
- Pour les déclassements, un remboursement est automatiquement créé et enregistré dans la commande initiale.
- Pour les mises à niveau nécessitant un paiement supplémentaire, une nouvelle commande est déclenchée avec un montant facturé au prorata pour le reste de la période de facturation.
Services disponibles
Cette application commerce composable fournit la logique de base pour la gestion des abonnements, notamment la prise en charge des paniers mixtes et la création de commandes. L’application expose les endpoints API essentiels pour étendre vos cas d’usage d’abonnement commerce : création et gestion d’abonnements, récupération de la liste des abonnements d’un client, mise à jour d’abonnements avec d’autres produits Commercetools, et annulation d’abonnements. Vous pouvez étendre l’application grâce à des services packagés et préconfigurés.
| Service endpoint | Méthode | Description |
|---|---|---|
/setupIntent | POST | Peut être utilisé en mode d’essai, lorsqu’un moyen de paiement peut être enregistré en vue d’un recouvrement futur. |
/subscription/withSetupIntent | POST | Créer un abonnement avec configuration d’essai sur un produit Commercetools |
/subscription | POST | Créer un abonnement (sans période d’essai) |
/subscription/confirm | POST | Confirmer et finaliser le paiement de l’abonnement |
/subscription-api/:customerId | GET | Récupérer tous les abonnements d’un client spécifique |
/subscription-api/:customerId | POST | Mettez à jour l’abonnement d’un client en passant à une offre supérieure ou inférieure avec un nouveau produit commercetools |
/subscription-api/:customerId/:subscriptionId | DELETE | Annuler un abonnement spécifique pour un client |