# Configurer des offres d'essai sur les abonnements Proposez des essais gratuits ou payants pour les éléments d'un abonnement. ![](https://b.stripecdn.com/docs-statics-srv/assets/trial-offer.2128af954f90482fce40e29d1604a01b.png) Utilisez l’API [Trial Offer](https://docs.stripe.com/api/product-catalog/trial-offer.md?api-version=2026-03-25.preview) pour gérer à la fois les périodes de lancement gratuites et payantes de vos [abonnements](https://docs.stripe.com/subscriptions.md) avec une seule intégration API. Les offres d’essai vous permettent d’identifier les prospects les plus motivés, de limiter les abus et de proposer des tarifs réduits à vos clients pendant une durée limitée (par exemple, 1 USD pour la première semaine d’une offre). ## Cas d’usage Avec les offres d’essai, vous pouvez exécuter des tests de tarification promotionnelle et d’offre de produits directement dans Stripe. Les cas d’usage courants pour les offres d’essai comprennent : | Cas d’usage | Description | | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Essais à prix réduit** | Pour améliorer votre taux de conversion de la période d’essai à la période payante et générer des revenus, vous pouvez mettre en place des périodes d’essai à prix réduit. Par exemple, vous proposez un prix de lancement réduit de 4 USD pendant 4 semaines ou proposez un essai gratuit de 7 jours. | | **Périodes d’essai gratuite** | Pour proposer un abonnement d’essai gratuit, incluez un élément dans l’abonnement | | **Essais de mise à niveau** | Pour vendre davantage de fonctionnalités premium, vous pouvez configurer des essais de mise à niveau. Par exemple, vous proposez à un client bénéficiant d’une offre de base une période d’essai de 7 jours pour accéder aux fonctionnalités premium au tarif de base. Ensuite, à la fin de la période d’essai, vous le convertissez automatiquement au tarif premium. | | **Essais au niveau des éléments** | Pour vendre des modules additionnels, des packs d’IA et d’autres offres groupées de fonctionnalités, vous pouvez configurer des périodes d’essai au niveau des éléments. Vous proposez aux clients une période d’essai pour un seul poste d’un abonnement tout en facturant d’autres postes à leur tarif normal. | ## Before you begin - Votre intégration doit être dans la [2026-03-25.version bêta](https://docs.stripe.com/changelog.md?channel=preview#2026-03-25.preview). Vous devez spécifier cette [version de Stripe](https://docs.stripe.com/api/versioning.md) dans l’en-tête de votre requête pour accéder aux fonctionnalités en version bêta. - Vous devez passer votre abonnement du [mode de facturation](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-billing_mode) `classique` au [mode de facturation flexible](https://docs.stripe.com/billing/subscriptions/billing-mode.md) pour utiliser les offres d’essai. ### Limitations - Les offres d’essai ne s’appliquent qu’aux éléments d’abonnement récurrents. Les éléments non récurrents ne sont pas admissibles aux essais payants ni aux essais à tarif réduit. - Les services de prise en charge Dashboard et portail client sont limités en version bêta publique. Vous pouvez utiliser à la fois le Dashboard et le portail client pour afficher les offres d’essai créées à l’aide de l’API, mais vous ne pouvez pas les utiliser pour créer, gérer ou modifier des postes d’offres d’essai. - Vous ne pouvez pas modifier la durée de la période d’essai après avoir créé l’abonnement ou planifié des extensions et des réductions de période d’essai. - Limites de l’[API Trial Offer](https://docs.stripe.com/api/product-catalog/trial-offer.md?api-version=2026-03-25.preview) et [trial_end](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-trial_end) : - Vous ne pouvez pas utiliser simultanément les offres d’essai et l’ancien paramètre `trial_end`. Nous vous recommandons d’utiliser l’API* Trial Offer pour configurer les essais à prix réduit et les essais gratuits. - Si vous utilisez [Checkout](https://docs.stripe.com/payments/checkout.md), vous ne pouvez pas utiliser d’offres d’essai. Pour créer des abonnements avec Checkout, vous devez utiliser les anciennes périodes d’essai gratuites avec `trial_end`. Consultez [Configurer des périodes](https://docs.stripe.com/payments/checkout/free-trials.md) d’essai. ## Fonctionnement des offres d’essai Les *produits* (Products represent what your business sells—whether that's a good or a service) décrivent les biens ou services spécifiques que vous proposez à vos clients et les *tarifs* (Prices define how much and how often to charge for products. This includes how much the product costs, what currency to use, and the interval if the price is for subscriptions) définissent le coût unitaire. Un abonnement facture ces produits à un client au prix spécifié, de manière récurrente. Lorsque vous créez une offre d’essai pour un abonnement, vous indiquez un prix d’essai et la durée de l’essai pour un produit. À la fin de l’essai, l’abonnement revient automatiquement au prix normal ou à un autre prix. Les offres d’essai ne remplacent pas les [produits ou tarifs](https://docs.stripe.com/products-prices/how-products-and-prices-work.md). Le `Trial Offer` est un objet distinct qui associe un tarif réduit ou gratuit à un [élément Abonnement](https://docs.stripe.com/api/subscription_items.md) pour une durée limitée, sans modifier le [tarif](https://docs.stripe.com/api/subscription_items/object.md?#subscription_item_object-price) sous-jacent de l’élément. ## Créer une offre d’essai Pour [créer une offre d’essai](https://docs.stripe.com/api/product-catalog/trial-offer/create.md?api-version=2026-03-25.preview), transmettez un [tarif](https://docs.stripe.com/api/product-catalog/trial-offer/create.md?api-version=2026-03-25.preview#create_product_catalog_trial_offer-price) en utilisant le paramètre [price.id](https://docs.stripe.com/api/prices/object.md#price_object-id) pour définir le coût pendant la période d’essai. Vous pouvez fixer ce montant à 0 USD pour les essais gratuits ou à n’importe quel montant positif pour les essais payants. Ensuite, réglez le paramètre [duration.type](https://docs.stripe.com/api/product-catalog/trial-offer/create.md?api-version=2026-03-25.preview#create_product_catalog_trial_offer-duration-type) de l’essai sur `relative` (basé sur les intervalles de facturation) ou sur `timestamp` (basé sur une date absolue). Pour une durée relative, utilisez des [itérations](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-duration-relative-iterations) pour définir le nombre d’intervalles de facturation. Enfin, définissez ce qui se passe à la fin de l’essai à l’aide du paramètre [end_behavior](https://docs.stripe.com/api/product-catalog/trial-offer/create.md?api-version=2026-03-25.preview#create_product_catalog_trial_offer-end_behavior). Utilisez `transition` pour spécifier le [price.id](https://docs.stripe.com/api/prices/object.md#price_object-id) vers lequel l’abonnement bascule une fois l’essai terminé. ### Créez une offre d’essai avec une durée relative ```curl curl https://api.stripe.com/v1/product_catalog/trial_offers \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "price={{PRICE_ID}}" \ -d "duration[relative][iterations]=1" \ -d "duration[type]=relative" \ -d "end_behavior[transition][price]={{PRICE_ID}}" ``` ### Créez une offre d’essai avec une durée d’horodatage ```curl curl https://api.stripe.com/v1/product_catalog/trial_offers \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "price={{PRICE_ID}}" \ -d "duration[type]=timestamp" \ -d "end_behavior[transition][price]={{PRICE_ID}}" ``` ## Associez une offre d’essai à un nouvel abonnement Pour associer une offre d’essai à un [abonnement](https://docs.stripe.com/api/subscriptions/object.md), spécifiez le [trial_offer.id](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-id) dans le paramètre [items.current_trial.trial_offer](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-current_trial) : #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "billing_mode[type]=flexible" \ -d "items[0][current_trial][trial_offer]=to_123" \ -d "items[0][quantity]=1" ``` #### Customer v1 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer={{CUSTOMER_ID}}" \ -d "billing_mode[type]=flexible" \ -d "items[0][current_trial][trial_offer]=to_123" \ -d "items[0][quantity]=1" ``` ## Mettez à jour les abonnements avec une offre d’essai ### Ajoutez une offre d’essai à un abonnement existant Pour associer l’offre d’essai à un abonnement existant, indiquez le[trial_offer.id](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-id) dans le paramètre [items.current_trial.trial_offer](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-current_trial) : ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "items[0][current_trial][trial_offer]=to_123" ``` ### Ajoutez une offre d’essai à un abonnement avec des éléments existants Pour ajouter une offre d’essai en tant qu’autre élément à un abonnement qui comporte des éléments existants, ajoutez un élément au tableau des[éléments](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items) et spécifiez le[trial_offer.id](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-id) dans le paramètre [items.current_trial.trial_offer](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-current_trial) : ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "items[0][id]={{SUBSCRIPTIONITEM_ID}}" \ -d "items[1][current_trial][trial_offer]=to_123" \ -d "items[1][quantity]=1" ``` ### Convertissez un élément abonnement en offre d’essai Pour convertir un élément d’abonnement existant en offre d’essai, incluez le [items.id](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-id) et spécifiez le [trial_offer.id](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-id) dans le paramètre [items.current_trial.trial_offer](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-current_trial) : ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "items[0][id]={{SUBSCRIPTIONITEM_ID}}" \ -d "items[0][current_trial][trial_offer]=to_123" ``` ### Modifiez la quantité d’éléments pour une offre d’essai Pour modifier la [quantité](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-items-quantity) d’éléments d’une offre d’essai, mettez à jour l’abonnement : ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "items[0][id]={{SUBSCRIPTIONITEM_ID}}" \ -d "items[0][quantity]=2" ``` ## Ajoutez une offre d’essai à une planification d’abonnement Vous ne pouvez utiliser des offres d’essai d’horodatage qu’avec des [planifications d’abonnement](https://docs.stripe.com/api/subscription_schedules.md). Contrairement aux essais à durée relative, qui se terminent après un nombre défini d’intervalles de facturation, les essais d’horodatage se terminent à une date absolue. Pour en créer un, définissez le [duration.type](https://docs.stripe.com/api/product-catalog/trial-offer/object.md?api-version=2026-03-25.preview#product_catalog_trial_offer_object-duration-type) de l’offre d’essai sur `timestamp` : ```curl curl https://api.stripe.com/v1/product_catalog/trial_offers \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "price={{PRICE_ID}}" \ -d "duration[type]=timestamp" \ -d "end_behavior[transition][price]={{PRICE_ID}}" ``` Ensuite, utilisez [phases.items.trial_offer](https://docs.stripe.com/api/subscription_schedules/create.md?api-version=2026-03-25.preview#create_subscription_schedule-phases-items-trial_offer) pour associer l’offre d’essai à la [phase](https://docs.stripe.com/api/subscription_schedules/create.md?#create_subscription_schedule-phases) calendrier de la planification d’abonnement : #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d start_date=1610403705 \ -d "phases[0][items][0][trial_offer]=to_123" \ -d "phases[0][end_date]=1610403706" ``` #### Customer v1 ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=1610403705 \ -d "phases[0][items][0][trial_offer]=to_123" \ -d "phases[0][end_date]=1610403706" ``` ## Afficher les abonnements avec périodes d’essai Lorsque vous [récupérez un abonnement](https://docs.stripe.com/api/subscriptions/retrieve.md), la réponse inclut la configuration de chaque élément, y compris les périodes d’essai : ```curl curl https://api.stripe.com/v1/subscriptions/{{SUBSCRIPTION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" ``` ## Annuler un abonnement à la fin d’une période d’essai payante Pour annuler l’abonnement à la fin de la période d’essai payante, créez un abonnement avec une offre d’essai et définissez le paramètre [cancel_at](https://docs.stripe.com/api/subscriptions/update.md?#update_subscription-cancel_at) sur la fin de la période d’essai. Ce modèle prend en charge les renouvellements d’inscription en garantissant que les clients ne sont pas convertis par défaut à un abonnement récurrent. #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "items[0][current_trial][trial_offer]=to_123" \ -d "items[0][quantity]=1" \ -d cancel_at=1610403706 ``` #### Customer v1 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer={{CUSTOMER_ID}}" \ -d "items[0][current_trial][trial_offer]=to_123" \ -d "items[0][quantity]=1" \ -d cancel_at=1610403706 ``` ## Utiliser les offres d’essai avec d’autres fonctionnalités ### Les offres d’essai avec la facturation à l’usage Lors de la création d’un objet [Price](https://docs.stripe.com/api/prices/object.md), vous pouvez spécifier un tarif à la consommation au lieu d’un tarif récurrent et l’associer à une offre d’essai. Cela vous permet d’offrir les mêmes fonctionnalités [de facturation à l’usage](https://docs.stripe.com/billing/subscriptions/usage-based.md) à un tarif réduit. Pour utiliser un tarif à la consommation, définissez le paramètre [utilisation_type](https://docs.stripe.com/api/prices/object.md?#price_object-recurring-usage_type) sur `metered` et ajoutez un [dispositif](https://docs.stripe.com/api/prices/object.md?#price_object-recurring-meter) de mesure existant pour suivre l’utilisation. ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d currency=usd \ -d billing_scheme=per_unit \ -d unit_amount=1 \ -d "recurring[interval]=week" \ -d "recurring[usage_type]=metered" \ -d "recurring[meter]=mtr_123" \ -d "product_data[name]=Trial Period Price" ``` Ensuite, associez le tarif à une offre d’essai comme vous le feriez pour tout autre tarif récurrent : ```curl curl https://api.stripe.com/v1/product_catalog/trial_offers \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "price={{PRICE_ID}}" \ -d "duration[relative][iterations]=1" \ -d "duration[type]=timestamp" \ -d "end_behavior[transition][price]={{PRICE_ID}}" ``` ## Considérations supplémentaires ### État « trialing »et offre d’essai de l’abonnement Lors de l’utilisation d’offres, le `status` d’un abonnement est déterminé par le prix de l’essai : - **Essais gratuits ()** : si un abonnement contient uniquement des offres d’essai, et que tous les prix des offres d’essai sont définis sur , l’état de l’abonnement est `trialing`. Cela correspond à l’ancien comportement `trial_end` et est idéal pour les flux d’essai gratuit « sans carte bancaire requise » ou Standard. - **Essais payants (>)** : si l’abonnement comporte un élément tarifaire normal, ou si les offres d’essai ont un tarif non nul, l’état de l’abonnement sera `active`, `incomplete` ou `past_due`. Ce comportement imite d’autres abonnements sans offres d’essai. Étant donné qu’un essai payant nécessite un paiement immédiat réussi pour commencer, l’abonnement suit le cycle de vie Standard `PaymentIntent`. Cela garantit que votre logique de facturation existante, telle que les webhooks pour les paiements réussis, reste cohérente, que le client paie un prix promotionnel ou le montant récurrent complet. ### Événements Chaque fois qu’une période d’essai change, elle déclenche des [événements](https://docs.stripe.com/api.md#event_types). Assurez-vous que votre intégration les gère. Par exemple, vous pouvez envoyer un e-mail à un client avant la fin d’une période d’essai. En savoir plus sur la [gestion des événements abonnement](https://docs.stripe.com/billing/subscriptions/webhooks.md#events). Le tableau suivant répertorie les événements déclenchés avant la fin d’une période d’essai, à la suspension ou l’annulation d’un abonnement en période d’essai, ou à la reprise et l’activation d’un abonnement. | Événement | Description | Cas d’usage | | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `customer.subscription.deleted` | Envoyé à la fin d’un abonnement. | Interrompez l’accès à votre produit en réponse à cet événement. L’abonnement passe à l’état `canceled` et envoie cet événement quand une période d’essai gratuit se termine sans moyen de paiement et que la valeur du comportement `missing_payment_method` de l’abonnement est `cancel`. | | `customer.subscription.resumed` | Envoyez en cas de reprise d’un abonnement suspendu. Lorsque vous recevez cet événement, accordez au client l’accès au produit s’il a été révoqué en raison d’une suspension d’abonnement. | Les abonnements suspendus sont convertis en abonnements actifs dès leur reprise. La reprise d’un abonnement peut déclencher la génération d’une facture et la création d’un Payment Intent correspondant, lequel doit être payé pour que l’abonnement puisse quitter l’état `paused`. | | `customer.subscription.paused` | Envoyé en cas de suspension complète d’un abonnement. Aucune facture n’est émise tant que l’abonnement n’a pas repris. Lorsque vous recevez cet événement, vous pouvez révoquer l’accès du client au produit jusqu’à ce qu’il ajoute un moyen de paiement et que l’abonnement reprenne. | Interrompez l’accès à votre produit en réponse à cet événement. L’abonnement passe à l’état `paused` et envoie cet événement quand une période d’essai gratuit se termine sans moyen de paiement et que la valeur du comportement `missing_payment_method` de l’abonnement est `pause`. L’abonnement conserve l’état `paused` jusqu’à sa reprise explicite. | | `customer.subscription.trial_will_end` | Envoyé 3 jours avant la fin de la période d’essai. Si la période d’essai est inférieure à 3 jours, l’événement est déclenché immédiatement. | Configurez l’abonnement de manière à envoyer automatiquement un e-mail à votre client 3 jours avant la fin de la période d’essai. | ### Définir une date de début de facturation à la fin d’une offre d’essai Lorsqu’une offre d’essai se termine et passe au tarif récurrent régulier, les clients doivent commencer immédiatement un nouveau cycle de facturation. Par défaut, la [facturation billing_cycle_anchor](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-trial_settings-end_behavior-billing_cycle_anchor) de l’abonnement se réinitialise automatiquement à la fin de la période d’essai (maintenant). Cela garantit que vos clients sont facturés immédiatement du montant total pour leur premier intervalle régulier, sans générer de prorata. Si vous ne souhaitez pas que votre `billing_cycle_anchor` soit modifié, vous pouvez le définir sur `unchanged`. Les options de configuration de `billing_cycle_anchor` comprennent : - `now` (par défaut) : réinitialise le `billing_cycle_anchor` de l’abonnement à la date exacte de fin de l’offre d’essai. Cela crée un nouveau cycle de facturation pour le tarif normal et génère une facture d’un montant total sans prorata. - `unchanged` : conserve la date de début initiale de la création de l’abonnement. La période comprise entre la fin de la période d’essai et la date de début naturelle suivante est facturée au prorata. Par exemple, si vous proposez une période d’essai de 7 jours pour et souhaitez que le premier débité mensuel de couvre un mois complet à partir du 8 e jour : 1. 1 er janvier : abonnement créé avec une offre d’essai de 7 jours. 1. 8 janvier : fin de la période d’essai. Le `billing_cycle_anchor` est automatiquement réinitialisé au 8 janvier. 1. facture : Stripe génère une facture pour l’intégralité du tarif récurrent pour la période du 8 janvier au 8 février. Aucun calcul au prorata n’est appliqué. #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d "items[0][current_trial][trial_offer]={{TRIAL_OFFER_ID}}" \ -d "trial_settings[end_behavior][billing_cycle_anchor]=unchanged" ``` #### Customer v1 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "customer={{CUSTOMER_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d "items[0][current_trial][trial_offer]={{TRIAL_OFFER_ID}}" \ -d "trial_settings[end_behavior][billing_cycle_anchor]=unchanged" ``` ## See also - [Produits et tarifs](https://docs.stripe.com/products-prices/overview.md) - [Tarifs](https://docs.stripe.com/api.md#prices) - [Abonnements](https://docs.stripe.com/api.md#subscriptions) - [Gérer les périodes de facturation des abonnements](https://docs.stripe.com/billing/subscriptions/billing-cycle.md)