Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Adds subscription item-level billing periods and removes subscription-level periods


Breaking changes

Adds subscription item-level billing periods and removes subscription-level periods Breaking changes

What’s new

Subscription items now track their respective billing periods directly instead of as a top-level shared billing period on the subscription resource.

Why is this a breaking change?

  • current _ period _ start and current _ period _ end fields are no longer available on the subscription resource.
  • previous _ attributes on the customer. subscription. updated webhook now include that the subscription item’s billing period has changed.

Impact

Update any code that references subscription-level current_period_end and current_period_start fields. Instead, access the subscription item’s billing periods directly using items.data.current_period_end and items.data.current_period_start fields.

Make sure that your integration correctly handles the previous_attributes field on the customer.subscription.updated webhook. For instance, for price or quantity changes, inspect the previous_attributes.items.data[].price field.

Changes

ParametersChangeResources or endpoints
current_period_end current_period_startRemovedSubscription
current_period_end current_period_startAddedSubscriptionItem

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-03-31. basil
  1. Upgrade the API version used for webhook endpoints .
  2. Test your integration against the new version.
  3. If you use Connect, test your Connect integration .
  4. In Workbench, perform the upgrade . You can roll back the version for 72 hours.

Learn more about Stripe API upgrades.

Last verified 2026-09-24

Is this helpful?