Suspendre des abonnementsVersion bêta publique
Mettre un abonnement en pause pour suspendre la fourniture du service et la génération des factures.
La mise en pause d’un abonnement suspend à la fois la fourniture du service et la génération des factures. Elle est particulièrement adaptée aux situations où un client part en vacances, prévoit une longue période sans utiliser le service ou souhaite suspendre temporairement son abonnement pour éviter l’attrition.
Suspendre un abonnement et suspendre l’encaissement des paiements
La mise en pause d’un abonnement interrompt à la fois le service et la facturation. L’abonnement passe au statut paused, Stripe cesse de générer des factures et votre client n’a plus accès au service tant que l’abonnement est en pause.
Si vous souhaitez maintenir l’accès de votre client au service, mais suspendre temporairement l’encaissement des paiements, utilisez plutôt la suspension de l’encaissement des paiements.
| Le service est mis en pause (le client perd l’accès au service) | La facturation est mise en pause | L’encaissement des paiements est mis en pause | |
|---|---|---|---|
| Suspendre l’abonnement | Oui | Oui | Oui |
| Suspendre la collecte des paiements | Non | Non | Oui |
Suspendre des abonnements
Mettez les abonnements en pause pour :
- Contrôler le cycle de vie des abonnements sans les annuler lorsque les clients sont temporairement inactifs.
- Créer des parcours de fidélisation ou des outils de support qui reposent sur un véritable état de pause.
- Valider la facturation, la révocation des droits et la gestion des webhooks pendant les périodes de pause.
Remarque
Un abonnement peut également passer à l’état paused lorsqu’une période d’essai prend fin sans moyen de paiement enregistré. Stripe déclenche cette action automatiquement et n’utilise pas l’endpoint Suspendre l’abonnement. Consultez Fin de la période d’essai sans moyen de paiement.
Vous pouvez mettre des abonnements en pause à l’aide de l’API ou du Dashboard. Les abonnements doivent utiliser le mode de facturation flexible, et l’endpoint de mise en pause des abonnements nécessite la version d’API 2025-06-30. ou une version ultérieure. La mise en pause prend effet immédiatement. Une fois l’abonnement mis en pause :
- l’état de l’abonnement passe à
paused; - Stripe vous informe de ce changement de statut via les webhooks customer.subscription.paused, customer.subscription.updated et entitlements.active_entitlement_summary.updated, ce qui vous permet de retirer l’accès au service.
- Stripe suspend la génération des factures jusqu’à la reprise, tandis que les factures déjà existantes continuent d’évoluer sans modifier le statut de pause.
- la valeur current_period_end est mise à jour à la date et à l’heure de la suspension.
- Vous pouvez utiliser le paramètre bill_for pour contrôler le comportement de facturation au moment de la mise en pause, notamment en créant des crédits au prorata pour la période sous licence non utilisée et des débits pour la consommation effective pendant la période en cours. Vous pouvez facturer immédiatement ou créer des postes de facture en attente.
- Le portail client indique qu’un abonnement est suspendu, mais vos abonnés ne peuvent pas l’utiliser pour suspendre eux-mêmes des abonnements.
Avertissement
Si vous mettez en pause un abonnement associé à un bon de réduction, celui-ci conserve sa durée de validité initiale. Cette durée continue de s’écouler pendant toute la période où l’abonnement est en pause.
Vous ne pouvez pas mettre un abonnement en pause s’il remplit l’une des conditions suivantes :
| Condition | Pour atteindre un état permettant la mise en pause : |
|---|---|
| Utilise le mode de recouvrement send_invoice | Mettez à jour l’abonnement pour utiliser le mode d’encaissement charge_. |
| Utilisez le mode de facturation classique | Passez au mode de facturation flexible. |
Statut trialing | Définissez trial_end sur now pour mettre fin à la période d’essai. |
| Bénéficie d’une offre d’essai active | Mettez à jour l’abonnement pour supprimer l’offre d’essai. |
Statut unpaid | Encaissez ou annulez la facture en attente pour remettre l’abonnement au statut active. |
Statut paused | Déjà en pause. |
Statut incomplete | Finalisez le paiement initial pour faire passer l’abonnement au statut active. |
Statut incomplete_ ou canceled | Créer un nouvel abonnement. |
| dispose d’une planification associée ; | Détachez le calendrier de l’abonnement. |
| Possède un calendrier de facturation actif | Mettez à jour l’abonnement pour supprimer les échéanciers de facturation en passant une chaîne vide dans billing_. |
Pour suspendre un abonnement dans le Dashboard :
- Sur la page Abonnements, repérez l’abonnement, ouvrez le menu de débordement (), puis cliquez sur Suspendre l’abonnement.
- Configurez le comportement de facturation pour le temps non utilisé et l’utilisation en attente.
- Cliquez sur Suspendre l’abonnement.
Aperçu de la facture avant la mise en pause
Utilisez Créer un aperçu de facture pour voir les débits ou crédits qui seraient créés par la mise en pause.
Stripe renvoie une facture d’aperçu uniquement lorsque :
- Le paramètre
invoicing_est défini surbehavior invoice. Par défaut, la valeurpending_ne génère pas de facture, ce qui entraîne une erreur 404 renvoyée par l’endpoint.invoice_ item - Les paramètres
bill_doivent produire des montants facturables tels que le temps de licence non utilisé ou la consommation effective en attente. Si la mise en pause ne crée pas de débits ou de crédits, il n’existe aucune facture dont on peut afficher l’aperçu et l’endpoint renvoie une erreur 404.for
Stripe renvoie une facture d’aperçu sans modifier l’abonnement. Appelez Suspendre un abonnement lorsque vous êtes prêt.
Incluez expand: ["parent. pour voir l’état prévu de l’abonnement après la mise en pause : le status est paused, status_ est renseigné, le current_ de chaque élément est tronqué à l’heure de la mise en pause, et toutes les mises à jour en attente sont effacées. Ces modifications ne sont pas conservées.
Prévisualisez la facture pour une mise en pause qui facture le temps non utilisé et la consommation effective :
curl https://api.stripe.com/v1/invoices/create_preview \ -u ":" \ -H "Stripe-Version: 2026-06-24.preview" \ -d subscription=sub_1234567890 \ -d "subscription_details[pause][invoicing_behavior]=invoice" \ -d "subscription_details[pause][bill_for][unused_time_from][type]=now" \ -d "subscription_details[pause][bill_for][outstanding_usage_through][type]=now" \ -d "expand[]=parent.subscription_details.subscription"sk_test_VePHdqKTYQjKNInc7u56JBrQ
Réponse de l’abonnement
Lorsque vous mettez un abonnement en pause, la réponse inclut un objet status_ qui fournit du contexte sur la pause :
{ "id": "sub_1SrpWtRnJ89Z4rKknfSwXkBc", "object": "subscription", "status": "paused", "status_details": { "paused": { "subscription": { "type": "pause_requested" }, "transitioned_at": 1749081600, "type": "subscription" } } }
status_: horodatage Unix du moment où l’abonnement est passé à l’étatdetails. paused. transitioned_ at paused.status_indique la raison pour laquelle l’abonnement a été mis en pause :details. paused. subscription. type
| Valeur | Signification |
|---|---|
pause_ | Vous avez mis l’abonnement en pause via l’API. |
trial_ | La période d’essai a pris fin sans moyen de paiement enregistré. |
system | Stripe a mis l’abonnement en pause automatiquement. |
Reprendre les abonnements
Pour reprendre un abonnement, celui-ci doit utiliser le mode d’encaissement charge_automatically.
Si la reprise ne génère pas de facture, l’état de l’abonnement passe immédiatement à active.
Si Stripe génère une facture de reprise :
- Stripe finalise immédiatement la facture de reprise.
- L’abonnement devient
activeune fois la facture payée ou marquée comme irrécouvrable. - Si vous annulez la facture de reprise, l’abonnement reste à l’état
paused.
Avertissement
Si vos paramètres de facturation annulent automatiquement les factures ayant échoué, une facture de reprise qui échoue peut laisser l’abonnement avec le statut paused sans renvoyer d’erreur. Même si la requête de reprise renvoie le code 200, l’abonnement reste avec le statut paused. Si cela se produit après un appel de reprise réussi, vérifiez vos paramètres de facturation.
Utilisez le paramètre facultatif payment_behavior pour contrôler la manière dont Stripe gère le paiement lors de la reprise.
Comportement de paiement
| Critère | resume_ Recommended | resume_ Default |
|---|---|---|
| La requête de reprise tente le paiement | Oui, lorsque le client dispose d’un moyen de paiement par défaut ou que son solde en espèces couvre le montant dû. Dans le cas contraire, Stripe renvoie une erreur. | Non. Collectez le paiement via l’endpoint Pay invoice. |
| État de l’abonnement en cas d’échec d’une tentative de paiement | paused | past_. L’abonnement ne revient pas automatiquement à l’état paused. |
| Nouvelles tentatives de paiement de la facture après un échec de paiement | Oui, à moins que vos paramètres de nouvelle tentative ne le désactivent | Non |
| Heure d’expiration de la mise à jour en attente | 1 an après la requête de reprise | 23 heures après la requête de reprise |
La valeur resume_ est uniquement disponible pour les abonnements utilisant le mode de facturation flexible.
Après la mise à jour du statut de l’abonnement à active :
- la facturation reprend ;
- Vous pouvez réinitialiser de manière facultative la date de début du cycle de facturation.
- Stripe vous informe de ce changement de statut via les webhooks customer.subscription.resumed, customer.subscription.updated et entitlements.active_entitlement_summary.updated, ce qui vous permet de rétablir l’accès au service.
Pour réactiver un abonnement suspendu dans le Dashboard :
- Sur la page Abonnements, recherchez l’abonnement suspendu, cliquez sur le menu de débordement () et sélectionnez Reprendre l’abonnement.
- Configurez les paramètres de prorata et d’ancrage du cycle de facturation.
- Cliquez sur Reprendre l’abonnement.
Aperçu de la facture avant la reprise
Avant de reprendre un abonnement, utilisez Créer un aperçu de facture pour prévisualiser la facture de reprise. Définissez subscription_ sur now. Stripe renvoie un aperçu de la facture sans modifier l’abonnement.
Prévisualisez une facture de reprise en utilisant les mêmes paramètres que ceux que vous passerez lors de l’appel de reprise :
curl https://api.stripe.com/v1/invoices/create_preview \ -u ":" \ -H "Stripe-Version: 2026-06-24.preview" \ -d subscription=sub_1234567890 \ -d "subscription_details[resume_at]=now" \ -d "subscription_details[billing_cycle_anchor]=now" \ -d "subscription_details[proration_behavior]=create_prorations"sk_test_VePHdqKTYQjKNInc7u56JBrQ
Exemple : mise en pause et reprise en cours de cycle
Configuration : un client a un abonnement mensuel de 30 USD. Le cycle de facturation se renouvelle au 30e jour.
Mise en pause au 15e jour : appelez l’endpoint de mise en pause avec bill_ et invoicing_ (paramètres par défaut).
- Stripe crée un poste de facture en attente de -15 USD (crédit pour 15 jours non utilisés).
- L’abonnement passe au statut
paused.
Reprise au 45e jour avec payment_, billing_, et proration_ :
- Stripe crée une facture de reprise.
- Le crédit de -15 USD lié à la mise en pause et un paiement de 30 USD pour la nouvelle période de facturation sont affichés comme des postes de facture.
- Débit net : 15 USD.
- Une fois le paiement effectué, l’abonnement passe au statut
activeet un nouveau cycle de facturation de 30 jours démarre.
Prochain renouvellement au 75e jour : Stripe facture 30 USD.
Test avec des horloges de simulation
Le comportement de mise en pause et de reprise dépend du temps. Utilisez des horloges de simulation pour simuler l’écoulement du temps dans votre environnement de test.
Les horloges de simulation vous permettent de :
- Déclencher les événements du cycle de facturation et vérifiez que les factures sont correctement générées après la reprise.
- Vérifier que les webhooks
customer.etsubscription. paused customer.se déclenchent bien aux bons moments.subscription. resumed - Tester le comportement d’expiration des bons de réduction sur une période de mise en pause.
- Vérifiez que votre logique de révocation et de réattribution des droits fonctionne correctement.
Identifier les événements de suspension et de reprise
Stripe envoie les événements suivants pour les abonnements suspendues et reprises.
| Événement | Description |
|---|---|
| customer.subscription.paused | Émis lorsqu’un abonnement est suspendu. |
| customer.subscription.resumed | Émis lorsqu’un abonnement reprend. |
| customer.subscription.updated | Émis lorsqu’un abonnement est suspendu ou reprend. |
| entitlements.active_entitlement_summary.updated | Émis lorsque les droits changent à la suite d’une suspension ou d’une reprise. |
Exemple de charge utile de webhook pour customer. (principaux champs affichés) :
{ "id": "evt_1SrpXjRnJ89Z4rKkFxe9waAz", "object": "event", ... "data": { "object": { "id": "sub_1SrpWtRnJ89Z4rKknfSwXkBc", "object": "subscription", ... "latest_invoice": "in_1SrpWtRnJ89Z4rKkzYBCF1MY", ... "status": "paused", ... } }, ... "type": "customer.subscription.paused" }
Rechercher des abonnements en pause dans Sigma
Le tableau subscriptions dans Sigma inclut une colonne status et une colonne JSON status_, utilisées pour identifier et analyser les abonnements en pause.
Utilisez cette requête pour récupérer tous les abonnements en pause, avec leur motif et leur horodatage de mise en pause :
select id, customer_id, status, json_extract_scalar(status_details, '$.paused.subscription.type') as pause_reason, from_unixtime(cast(json_extract_scalar(status_details, '$.paused.transitioned_at') as double)) as paused_at from subscriptions where status = 'paused' order by paused_at desc