Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs

Abonnements présentant des postes à la périodicité différenteVersion bêta privée

Découvrez comment ajouter à vos abonnements des postes à la périodicité différente.

Vous pouvez facturer plusieurs tarifs récurrents à différentes périodes sur un même abonnement en utilisant l’abonnement à périodes mixtes. Cela vous permet de combiner différentes structures tarifaires au sein d’un même abonnement.

Par exemple, si un client s’abonne à un service avec des frais forfaitaires annuels de 500 USD et des frais d’utilisation mensuels, vous pouvez inclure les deux tarifs comme postes du même abonnement. Stripe génère des factures combinées lorsque les cycles de facturation au niveau des postes se chevauchent et génère des factures distinctes lorsqu’un seul élément est dû.

Version bêta privée de l'abonnement présentant des postes à la périodicité différente

L’abonnement présentant des postes à la périodicité différente étant actuellement en version bêta privée, ses fonctionnalités et son tarif peuvent évoluer avant sa disponibilité générale. Nous vous recommandons de tester votre intégration avec du trafic hors production.

Démarrer avec les abonnements à périodes mixtes

Version bêta publique du mode facturation

billing_mode est actuellement en version bêta publique. En savoir plus sur les limitations de la version bêta publique.

Pour activer les abonnements à périodes mixtes, vous devez définir billing_mode=flexible sur les endpoints d’API suivants et mettre à niveau votre version de API vers 2025-04-30.preview ou une version ultérieure.

  • Créer un abonnement
  • Créer un aperçu de la facture
  • Créer une session Checkout

Créer un abonnement avec des intervalles mixtes

Créez un abonnement à l’aide de tarifs de différentes valeurs de périodes récurrentes pour facturer les postes d’abonnement renouvelés à des périodes différentes.

Par exemple, pour un abonnement à 100 USD par trimestre et 15 USD par mois débutant le 1er janvier 2024, créez l’abonnement suivant :

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price_data][currency]"=usd \ -d "items[0][price_data][product]"=
{{PRODUCT_ID}}
\ -d "items[0][price_data][recurring][interval]"=month \ -d "items[0][price_data][recurring][interval_count]"=1 \ -d "items[0][price_data][unit_amount]"=1500 \ -d "items[0][quantity]"=1 \ -d "items[1][price_data][currency]"=usd \ -d "items[1][price_data][product]"=
{{PRODUCT_ID}}
\ -d "items[1][price_data][recurring][interval]"=month \ -d "items[1][price_data][recurring][interval_count]"=3 \ -d "items[1][price_data][unit_amount]"=10000 \ -d "items[1][quantity]"=1 \ -d collection_method=send_invoice \ -d days_until_due=5 \ -d proration_behavior=none \ -d "billing_mode[type]"=flexible \ -d "expand[0]"=latest_invoice

La réponse comprend un abonnement avec les deux postes, qui sont facturés sur la première facture (latest_invoice) :

{ "object": "subscription", "id":
'{{SUBSCRIPTION_ID}}'
, "current_period_start": 1704067200, // Jan 1 2024 "current_period_end": 1706745600, // Feb 1 2024 "items": { "data": [ { "id": "si_A", "price": "price_id_monthly",

Le 1er février et le 1er mars, l’abonnement est renouvelé et génère une nouvelle facture au tarif mensuel. Le 1er avril, le renouvellement de l’abonnement génère une facture au tarif mensuel et trimestriel.

Annuler un abonnement

  • Lorsque vous annulez un abonnement ou une planification avec des périodes mixtes, Stripe annule tous les postes d’abonnement, quelle que soit leur période.
  • Les abonnements ont un comportement unique de relance, même si une facture ne débite qu’un seul des postes de l’abonnement. Si toutes les tentatives de paiement échouent, Stripe annule l’intégralité de l’abonnement et le marque comme impayé ou en retard, en fonction des paramètres de relance configurés.

Périodes de facturation pour les abonnements présentant des postes à la périodicité différente

Chaque poste d’abonnement a ses propres paramètres current_period_start et current_period_end.

Stripe définit la période actuelle de l’abonnement en fonction des périodes de facturation du poste d’abonnement, où :

  • current_period_start est le maximum de dates current_period_start du poste.
  • current_period_end est le minimum de dates current_period_end du poste.

La subscription.current_period_end indique toujours la date à laquelle le nouveau cycle d’un poste démarrera.

Par exemple, un abonnement créé le 1er janvier avec un poste mensuel, bimensuel et trimestriel comporte les périodes suivantes :

current_period_startcurrent_period_end
Poste mensuel1er janvier1er février
Poste bimestriel1er janvier1er mars
Poste trimestriel1er janvier1er avril
Subscription1er janvier1er février

Après le renouvellement le 1er février (subscription.current_period_end), la période actuelle de l’abonnement s’ajuste pour correspondre à la current_period_start la plus récente et à la current_period_end la plus ancienne de tous les postes :

current_period_startcurrent_period_end
Poste mensuel1er février1er mars
Poste bimestriel1er janvier1er mars
Poste trimestriel1er janvier1er avril
Subscription1er février1er mars

Au bout du troisième cycle :

current_period_startcurrent_period_end
Poste mensuel1er mars1er avril
Poste bimestriel1er mars1er mai
Poste trimestriel1er janvier1er avril
Subscription1er mars1er avril

Anciens paramètres d’abonnement

Les paramètres d’abonnement subscription.current_period_start et subscription.current_period_end sont supprimés. Définissez plutôt des valeurs de période au niveau du poste d’abonnement.

Réajustements des périodes de facturation

Essai gratuit

Les dates de la période de facturation au niveau du poste dépendent des dates de fin des essais gratuits, comme pour les abonnements standard. Lorsque l’abonnement présente une date de fin trial_end dans le futur, toutes les dates current_period_end (abonnement et postes) sont définies sur la date trial_end.

Pause à la fin de la période d’essai et reprise

Vous pouvez configurer un abonnement à périodes mixtes pour qu’il s’interrompe à la fin de la période d’essai lorsque le moyen de paiement est manquant à l’aide du paramètre trial_settings.end_behavior.missing_payment_method, comme pour les abonnements standard. Vous pouvez rétablir les abonnements suspendus à l’aide de stripe.subscription.resume, comme pour les abonnements standard. Nous prenons uniquement en charge les paramètres proration_behavior: none et billing_cycle_anchor pour les abonnements à périodes mixtes.

Remarque

Lors de la reprise d’un abonnement à intervalles mixtes avec billing_cycle_anchor: unchanged and proration_behavior: none, le débit au prorata pour la période partielle entre la date de reprise et la fin de la période de facturation en cours pour chacun des articles n’est ni généré ni facturé. Voir un exemple ci-dessous :

Pour un abonnement à intervalles mixtes avec un abonnement mensuel et un abonnement bimestriel

  • billing_cycle_anchor = 1er janvier
  • trial_end = 1er février
  • trial_settings.end_behavior.missing_payment_method = « pause »

Dans cet exemple, supposons que l’abonnement est suspendu le 1er février en raison d’un moyen de paiement manquant et qu’il reprend le 15 février avec proration_behavior: none :

billing_cycle_anchor : inchangébilling_cycle_anchor : maintenant
Poste mensuelPériode actuelle de l’article : du 1er février au 1er mars
  • Aucune facture n’est facturée pour cette période, donc aucune nouvelle facture n’est créée
  • La prochaine facturation mensuelle aura lieu le 1er mars pour la période du 1er mars au 1er avril
Période actuelle de l’article : du 15 février au 15 mars
  • Génère une nouvelle facture et facture un poste mensuel du 15 février au 15 mars
Article bimestrielPériode actuelle de l’article du 1er février au 1er avril
  • Aucune facture n’est facturée pour cette période, donc aucune nouvelle facture n’est créée
  • La prochaine facturation bimestrielle aura lieu le 1er avril pour la période du 1er avril au 1er juin
Période actuelle de l’article : du 15 février au 15 avril
  • Génère une nouvelle facture et facture un poste mensuel du 15 février au 15 avril
Subscription
  • billing_cycle_anchor : 1er février
  • L’abonnement devient actif immédiatement
  • Générer un abonnement en attente de mise à jour pour billing_cycle_anchor : 15 février (appliqué une fois que la facture de reprise est payée)
  • L’abonnement reste suspendu jusqu’au paiement de la facture de reprise

Considérations relatives aux intervalles mixtes

Les abonnements à périodes mixtes présentent certaines restrictions.

Alignement du cycle

Le cycle tarifaire de chaque poste d’abonnement doit être un multiple du cycle tarifaire le plus court présent sur l’abonnement. La période pour un tarif associe les champs price.recurring.interval et price.recurring.interval_count.

  • Exemples de combinaisons de périodes prises en charge :

    Périodes équivalentes

    Lorsque nous vérifions que les périodes de votre abonnement se chevauchent, Stripe considère les périodes suivantes comme équivalentes :

    • 1 semaine et 7 jours
    • 12 mois et 1 an
    • 1 mois, 3 mois
    • 1 mois, 1 an
    • 1 jour, 1 semaine
    • 1 jour, 3 mois
    • 1 jour, 2 ans
    • 2 semaines, 4 semaines
    • 2 mois, 4 mois, 6 mois
  • Exemples de combinaisons de périodes non prises en charge :

    Périodes non équivalentes

    Il n’existe pas d’équivalence entre les types de périodes tarifaires suivants :

    • Semaine et mois
    • Semaine et année
    • Jour et mois
    • Jour et année
    • 2 mois, 3 mois
    • 4 mois, 6 mois
    • 1 semaine, 1 mois
    • 2 jours, 1 semaine
    • 5 mois, 1 an

Limitations

En version bêta privée, les abonnements à périodes mixtes sont soumis aux limitations suivantes (elles peuvent changer en cours de développement) :

  • Tous les tarifs des postes d’abonnement doivent spécifier recurring.usage_type: licensed et billing_scheme: per_unit. Nous ne prenons pas en charge la tarification à la consommation.
  • Les abonnements à périodes mixtes ne sont actuellement disponibles que dans l’API Stripe, et non sur le portail client.
  • Vous ne pouvez pas utiliser cancel_at_period_end sur un abonnement présentant des périodes différentes, car il est impossible de déterminer clairement quel poste d’abonnement current_period_end utiliser comme date d’annulation.
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc