Mettre des abonnements en pause sur Lemon Squeezy
La pause d’un abonnement Lemon Squeezy : modes free et void, resumes_at, dashboard et portail, webhooks, et comment proposer une pause avant une annulation.
Un client qui veut faire une pause n’est pas un client qui veut partir. Si le seul bouton qu’il trouve est « Annuler », vous perdez les deux. Lemon Squeezy a une fonction de pause native, plus souple que beaucoup d’équipes ne le pensent : deux modes de pause, une date de reprise automatique facultative, et une prise en charge complète par l’API.
Ce guide explique comment fonctionne la pause sur Lemon Squeezy, comment la déclencher depuis le dashboard, le portail client ou l’API, et comment la proposer au bon moment. Il s’en tient à la documentation de Lemon Squeezy : la référence API Update a Subscription, la référence de l’objet Subscription, le guide de gestion des abonnements, la page Customer Portal et les types d’événements webhook (tous consultés en novembre 2026).
Les deux modes de pause
Lemon Squeezy met un abonnement en pause en lui ajoutant un objet pause. L’objet a un mode, et la référence Update a Subscription documente deux valeurs :
| Mode | À quoi il sert selon Lemon Squeezy | Ce que le client obtient |
|---|---|---|
void |
Quand vous ne pouvez pas fournir votre service pendant une période (la maintenance est l’exemple donné) : les factures sont annulées pour que les clients ne soient pas prélevés | Pas de prélèvement, et implicitement pas de service |
free |
Offrir l’abonnement gratuitement tout en arrêtant l’encaissement | Pas de prélèvement, et le service continue |
Les deux modes arrêtent l’encaissement. La différence tient à ce que vous promettez en échange, et c’est une décision produit, pas de facturation. Lemon Squeezy ne gère pas l’accès à votre place : c’est votre appli qui décide de ce qu’un client en pause peut faire.
En pratique :
voidest la « pause » habituelle que demande un client. Il n’utilise pas le produit pendant un temps, et il ne le paie pas.freeest un geste commercial. Utilisez-le quand vous voulez qu’un client continue d’utiliser le produit sans le prélever, par exemple pendant que vous corrigez un problème qui l’a touché.
La pause avec une date de reprise
L’objet pause accepte aussi un resumes_at facultatif, une date-heure ISO 8601. Quand il est défini, l’abonnement reprend l’encaissement à partir de cette date. Sans lui, la pause dure jusqu’à ce que quelqu’un la lève.
La documentation que nous avons utilisée n’indique pas de durée maximale de pause. Si vous en voulez une, imposez-la dans votre propre interface en envoyant toujours un resumes_at.
Lever la pause
Pour mettre fin à une pause, vous passez pause à null sur l’abonnement. D’après la référence Update a Subscription, l’abonnement redevient alors active et l’encaissement reprend selon son calendrier d’origine.
« Calendrier d’origine » mérite réflexion. La date d’ancrage de la facturation ne bouge pas à cause de la pause : un client qui reprend peut donc être prélevé à sa date de renouvellement habituelle plutôt que le jour de son retour. Si cela risque de le surprendre, dites-le sur l’écran où il reprend.
Trois façons de mettre en pause
1. Depuis le dashboard
Le guide de gestion des abonnements décrit le chemin manuel : dans votre dashboard Lemon Squeezy, allez dans Store, puis Subscriptions, sélectionnez l’abonnement et cliquez sur « Pause Subscription ». Pratique pour les demandes au support.
2. Depuis le portail client
Le Customer Portal hébergé de Lemon Squeezy permet aux abonnés de mettre en pause et de reprendre, d’annuler et de réactiver, et de changer de produit. Vous choisissez les fonctionnalités affichées par le portail dans ses réglages de design. Si vous vous appuyez sur le portail, vérifiez que la pause est activée et visible à côté de l’annulation.
3. Depuis l’API
Pour mettre en pause depuis votre propre appli, envoyez un PATCH sur l’endpoint de l’abonnement avec un objet pause, comme le montre la référence Update a Subscription. Un corps de requête minimal, au format JSON:API :
{
"data": {
"type": "subscriptions",
"id": "123",
"attributes": {
"pause": {
"mode": "void",
"resumes_at": "2027-02-01T00:00:00.000000Z"
}
}
}
}
Pour lever la pause, envoyez la même requête avec "pause": null.
Ce qui change sur l’abonnement
D’après la référence de l’objet Subscription :
- Un abonnement en pause a le statut
paused. - L’attribut
pausecontient le mode etresumes_atpendant la pause, et vautnullsinon.
La page des types d’événements liste deux événements dédiés, subscription_paused et subscription_unpaused. Lemon Squeezy envoie aussi subscription_updated à chaque changement : si vous traitez déjà cet événement et lisez status, la pause ne demande aucun webhook supplémentaire.
Bien proposer une pause
Lemon Squeezy vous donne la mécanique. Que les clients choisissent vraiment une pause dépend de la façon dont vous la proposez.
La proposer au moment de l’annulation
Le moment où l’intention est la plus forte, c’est quand le client clique sur « Annuler ». Si votre appli envoie les clients directement vers le portail, ils voient la pause comme une option parmi d’autres. Si vous construisez votre propre page d’annulation, vous pouvez d’abord demander pourquoi ils partent, puis proposer une pause aux clients dont la raison s’y prête : « je fais une pause », « saisonnier », « je ne m’en sers pas en ce moment », « budget ce mois-ci ».
Gardez l’option d’annulation visible sur cette page. Une offre de pause doit être une vraie alternative, pas un mur. Cacher l’annulation crée des tickets de support et des chargebacks, et c’est réglementé à plusieurs endroits.
Rendre la pause concrète
« Mettre votre abonnement en pause », c’est vague. « Pause de 1, 2 ou 3 mois, sans prélèvement, vos données restent ici », c’est une décision qu’on prend en cinq secondes. Associez chaque choix à un resumes_at et envoyez-le avec la requête.
Prévenir avant la fin
Une pause qui reprend la facturation en silence ressemble à un piège. Prévoyez un rappel quelques jours avant resumes_at : « Votre pause se termine le 1er mars. Vous serez prélevé à votre date habituelle. Vous voulez prolonger ou annuler ? » Les docs de Lemon Squeezy que nous avons utilisées ne décrivent pas de rappel intégré pour cela : envoyez-le depuis votre propre outil d’emailing.
Choisir le mode volontairement
Pour une pause demandée par le client, utilisez void. Gardez free pour les cas où vous choisissez de continuer à servir un client sans frais. Les confondre revient soit à faire payer pour rien, soit à offrir un service que vous vouliez suspendre.
La mesurer
Comptez les événements subscription_paused et ce qui se passe ensuite pour chaque client en pause : pause levée et renouvellement, annulation pendant la pause, ou annulation juste après la reprise. Cela vous dit si les offres de pause sauvent des clients ou retardent seulement l’annulation.
Une checklist avant la mise en ligne
- La pause est activée dans le portail client, ou votre propre page d’annulation la propose.
- Votre appli associe
pausedà une règle d’accès (pas d’accès pourvoid, accès normal pourfree). - Chaque pause depuis votre interface envoie un
resumes_at. - Un rappel part avant la fin de la pause.
- Votre handler de webhooks met à jour vos données sur
subscription_paused,subscription_unpausedousubscription_updated. - Vous avez testé tout le parcours en mode test avec des événements webhook simulés.
Le faire avec NoChurn
La pause reste une fonctionnalité de Lemon Squeezy ; NoChurn s’en sert plutôt que de la remplacer. NoChurn ajoute un parcours d’annulation devant le bouton d’annulation : le client donne une raison, voit une offre qui y correspond (une pause, une remise ou un changement d’offre), et peut toujours annuler en un clic. Le parcours est hébergé, ou headless via l’API si vous le voulez entièrement à votre design. Les réponses alimentent le churn score et les emails de reconquête envoyés à J30, J60 et J90. Voir NoChurn + Lemon Squeezy.