Stripe · api · fg-0155

subscription.current_period_end is undefined after upgrading to Stripe API 2025-03-31.basil

If you see subscription.current_period_end and current_period_start come back undefined with a 200 response, the cause and the fix for Stripe are below, last verified 2026-10-15.

Verified Oct 2026trust 50/100
Symptom
subscription.current_period_end and current_period_start come back undefined with a 200 responseTypeScript: Property 'current_period_end' does not exist on type 'Subscription'Renewal dates saved as null or NaN right after an SDK major upgrade
Cause
Basil moved the billing period from the Subscription onto each SubscriptionItem so one subscription can mix monthly and yearly prices. The old top level fields are simply absent, so nothing throws.
Fix
Read current_period_start and current_period_end from subscription.items.data. If you need one renewal date, take the latest item end.
Apply
const periodEnd = Math.max(...subscription.items.data.map((item) => item.current_period_end));
Affected
Stripe API 2025-03-31.basil and later; stripe-node 18+, stripe-python 12+, stripe-php 17+, stripe-go 82+, stripe-java 29+, stripe-dotnet 48+
Sources

Last verified 2026-10-15 · Confirmed by 0 builders

Related traps

Have your agent know this before it fails

$ /plugin marketplace add getfootgun/footgun
$ /plugin install footgun@footgun