Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
Übersicht
Versionierung
Änderungsprotokoll
    Übersicht
    Clover
    Basilikum
    Acacia
    Vorherige Versionen
Aktualisieren Sie Ihre API-Version
Ihre SDK-Version aktualisieren
Essentials
SDKs
API
Tests
Stripe-CLI
Beispiel-Projekte
Tools
Stripe Dashboard
Workbench
Entwickler-Dashboard
Stripe Shell
Stripe für Visual Studio Code
Funktionen
Arbeitsabläufe
Ereignisziele
Stripe-StatuswarnungenHochgeladene Dateien
KI-Lösungen
Agent-Toolkit
Model Context ProtocolAgentische KI-SaaS-Billing-Workflows aufbauen
Sicherheit und Datenschutz
Sicherheit
Stripebot-Webcrawler
Datenschutz
Extend Stripe
Erstellen Sie Stripe-Apps
Verwenden Sie Apps von Stripe
Partner
Partner-Ecosystem
Partner-Zertifizierung
StartseiteEntwicklerressourcenChangelogClover2025-09-30.clover

Notiz

Bis jetzt ist diese Seite noch nicht in dieser Sprache verfügbar. Wir arbeiten aber verstärkt daran, unsere Dokumentation in weiteren Sprachen bereitzustellen, und werden die Übersetzung sofort anzeigen, sobald diese verfügbar ist.

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

ParameterÄndernRessourcen oder Endpoints
flexibleHinzugefügt
Checkout.Session#create.subscription_data.billing_modeInvoice#create_preview.schedule_details.billing_modeInvoice#create_preview.subscription_details.billing_mode
 + 7 weitere
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_detailsHinzugefügt
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
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc