From stripe
Guides upgrading Stripe API versions, server-side SDKs, Stripe.js, and mobile SDKs. Covers backward-compatible vs breaking changes, version pinning best practices, and per-request overrides.
How this skill is triggered — by the user, by Claude, or both
Slash command
/stripe:upgrade-stripeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The latest Stripe API version is 2026-04-22.dahlia - use this version when upgrading unless the user specifies a different target version.
The latest Stripe API version is 2026-04-22.dahlia - use this version when upgrading unless the user specifies a different target version.
This guide covers upgrading Stripe API versions, server-side SDKs, Stripe.js, and mobile SDKs.
Stripe uses date-based API versions (e.g., 2026-04-22.dahlia, 2025-08-27.basil, 2024-12-18.acacia). Your account’s API version determines request/response behavior.
Backward-Compatible Changes (don’t require code updates):
Breaking Changes (require code updates):
Review the API Changelog for all changes between versions.
See SDK Version Management for details.
These SDKs offer flexible version control:
Global Configuration:
import stripe
stripe.api_version = '2026-04-22.dahlia'
Stripe.api_version = '2026-04-22.dahlia'
const stripe = require('stripe')('sk_test_xxx', {
apiVersion: '2026-04-22.dahlia'
});
Per-Request Override:
stripe.Customer.create(
email="[email protected]",
stripe_version='2026-04-22.dahlia'
)
These use a fixed API version matching the SDK release date. Don’t set a different API version for strongly-typed languages because response objects might not match the strong types in the SDK. Instead, update the SDK to target a new API version.
Always specify the API version you’re integrating against in your code instead of relying on your account’s default API version:
// Good: Explicit version
const stripe = require('stripe')('sk_test_xxx', {
apiVersion: '2026-04-22.dahlia'
});
// Avoid: Relying on account default
const stripe = require('stripe')('sk_test_xxx');
See Stripe.js Versioning for details.
Stripe.js uses an evergreen model with major releases (Acacia, Basil, Clover, Dahlia) on a biannual basis.
Via Script Tag:
<script src="https://js.stripe.com/dahlia/stripe.js"></script>
Via npm:
npm install @stripe/stripe-js
Major npm versions correspond to specific Stripe.js versions.
Each Stripe.js version automatically pairs with its corresponding API version. For instance:
2026-04-22.dahlia API2024-12-18.acacia APIYou can’t override this association.
See Mobile SDK Versioning for details.
Both platforms follow semantic versioning (MAJOR.MINOR.PATCH):
New features and fixes release only on the latest major version. Upgrade regularly to access improvements.
Uses a different model (0.x.y schema):
All mobile SDKs work with any Stripe API version you use on your backend unless documentation specifies otherwise.
npm update stripe, pip install --upgrade stripe)apiVersion parameter in your Stripe client initializationStripe-Version headerUse the Stripe-Version header to test your code against a new version without changing your default:
curl https://api.stripe.com/v1/customers \
-u sk_test_xxx: \
-H "Stripe-Version: 2026-04-22.dahlia"
Or in code:
const stripe = require('stripe')('sk_test_xxx', {
apiVersion: '2026-04-22.dahlia' // Test with new version
});
npx claudepluginhub stripe/ai --plugin stripeGuides upgrading Stripe API versions and SDKs for Python, Ruby, Node.js, Java, Go, .NET, plus Stripe.js. Covers changes, config examples, and best practices.
Guides Stripe integration decisions including API selection, Connect platform setup, subscriptions, Treasury accounts, migration from deprecated APIs, and security best practices.
Guides API versioning strategies: URL path vs headers, Stripe-style date-based, deprecation with sunset headers, backward compatibility, and non-breaking evolution.