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
Aperçu
Gestion des versions
Journal des modifications
    Présentation
    Clover
    Basil
    Acacia
    Versions précédentes
Mettre à niveau votre version de l'API
Actualiser votre version du SDK
Essentials
SDK
API
Tests
CLI Stripe
Exemples de projets
Outils
Dashboard Stripe
Workbench
Dashboard des développeurs
Shell Stripe
Stripe pour Visual Studio Code
Fonctionnalités
Workflows
Destinations d'événements
Alertes d'intégrité de StripeChargements de fichiers
Solutions d'IA
Boîte à outils des agents
Modèle de protocole contextuelCréer des flux de facturation SaaS avec l’IA agentique
Sécurité et confidentialité
Sécurité
Robot d'exploration Web Stripebot
Confidentialité
Extensions Stripe
Créer des applications Stripe
Utiliser les applications de Stripe
Partenaires
Partner ecosystem
Certification des partenaires
AccueilRessources pour les développeursChangelogClover2025-09-30.clover

Remarque

Cette page n'est pas encore disponible dans cette langue. Nous faisons tout notre possible pour proposer notre documentation dans davantage de langues et nous vous fournirons la version traduite dès qu'elle sera disponible.

Adds the ability to itemize proration discount amounts

What’s new

Adds the ability to itemize proration discount amounts, so proration amounts and discount amounts are displayed consistently with non-prorations. When enabled, the proration amount properties show gross amounts before discounts are applied, and discount amounts include the actual applied discount amounts. When disabled, the proration discount properties include discount IDs, but discount amounts are 0.

Impact

You can now itemize proration discount amounts by setting the proration_discounts parameter to itemized when creating subscriptions, subscription schedules, quotes, checkout sessions, or preview invoices. You can also set this parameter to itemized for an existing subscription by migrating it. However, you can’t migrate a subscription from itemized to included.

Changes summary

ObjectPropertyIncludedItemized (new behavior)
Proration Line ItemamountNet amount (after discounts)Gross amount (before discounts)
discount_amountsMissing item-level discounts; group-level discounts show amount=0All discounts included with accurate amounts
Invoice ItemamountNet amountGross amount
net_amount (new property)Net amount for non-discountable invoice items; otherwise nullNet amount for non-discountable invoice items; otherwise null
proration_details (new property)All discounts included with amount=0All discounts included with accurate amounts
Invoicetotal_discount_amountsExcludes proration discountsIncludes proration discounts
subtotalIncludes net proration amounts (discounts already applied)Includes proration amounts after item-level discounts (group-level discounts applied separately)

Example: 10 USD gross debit proration with 10% item-level discount and 2 USD group-level discount

Included:

The following example shows the existing behavior, with discounts already applied:

Response:

// Line Item { "proration": true, "amount": 700, // Net: 7 USD after discounts (10 USD - 1 USD item - 2 USD group) "discount_amounts": [ // Item-level discount missing entirely {"amount": 0, "discount": "di_group_2off"} // Group-level shows ID but no amount ] } // Invoice Item { "proration": true, "amount": 700 // Net amount only } // Invoice { "total_discount_amounts": [ {"amount": 0, "discount": "di_group_2off"} // Missing item-level proration discount ], "subtotal": 700 // Adds proration amount after all discounts }

Itemized:

Request:

// POST /v1/subscriptions { // ... omitting irrelevant fields ... billing_mode: { type: "flexible", flexible: { // New parameter: only available when billing mode type is flexible proration_discounts: "itemized" // Default value is "included" } } // ... omitting irrelevant fields ... }

Response:

// Line Item { "proration": true, "amount": 1000, // Gross: 10 USD before discounts "discount_amounts": [ {"amount": 100, "discount": "di_item_10pct"}, // Item-level discount now visible {"amount": 200, "discount": "di_group_2off"} // Group-level with actual amount ] } // Invoice Item { "proration": true, "amount": 1000, // Gross amount "net_amount": 700, // New property: net amount after both discounts "proration_details": { // New property: populated when the invoice item is a proration "discount_amounts": [ {"amount": 100, "discount": "di_item_10pct"}, {"amount": 200, "discount": "di_group_2off"} ] } } // Invoice { "total_discount_amounts": [ {"amount": 100, "discount": "di_item_10pct"}, // Now includes item-level proration discount {"amount": 200, "discount": "di_group_2off"} // Now includes group-level proration discount ], "subtotal": 9000 // Includes proration amount after item-level discounts }

Upgrade considerations

  • Scope: This functionality is only available on subscriptions with flexible billing mode.
  • One-way migration: After you enable itemized discount amounts for a subscription, you can’t revert to included.
  • Code changes required: If your integration reads proration amount properties expecting net values, update to use the new net_amount property instead.
  • Historical invoices: Existing invoices reflect the behavior that was active when you created them.
  • Mixed invoice support: Single invoices can contain both included and itemized proration line items if you migrate a subscription between creating prorations.

Changes

paramètresModifierRessources ou endpoints
flexibleAjouté
Checkout.Session#create.subscription_data.billing_modeInvoice#create_preview.schedule_details.billing_modeInvoice#create_preview.subscription_details.billing_mode
 + 7 de plus
Quote#create.subscription_data.billing_modeQuote.subscription_data.billing_modeSubscription#create.billing_modeSubscription#migrate.billing_modeSubscription.billing_modeSubscriptionSchedule#create.billing_modeSubscriptionSchedule.billing_mode
net_amountproration_detailsAjouté
InvoiceItem

Upgrade

  1. View your current API version in Workbench.
  2. If you use an SDK, upgrade to the corresponding SDK version for this API version.
    • If you don’t use an SDK, update your API requests to include Stripe-Version: 2025-09-30.clover
  3. Upgrade the API version used for webhook endpoints.
  4. Test your integration against the new version.
  5. If you use Connect, test your Connect integration.
  6. In Workbench, perform the upgrade. You can roll back the version for 72 hours.

Learn more about Stripe API upgrades.

Related changes

  • Removes iterations parameter for subscription schedules
  • Promotion Codes now reference Coupons using a polymorphic field for promotions
  • Adds the Discount source property and removes the Discount coupon property
  • Makes flexible billing mode the default for new subscriptions
  • Updates computation of subscription schedule phase end date to consider billing cycle anchor changes
  • Adds customer portal configuration trial behavior
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