stripe breaking changes
Every breaking API change we have recorded in stripe on npm: 948 breaking changes in 11 versions. Below are its newest 6 versions, removals and renames first, each with its source.
Newest change October 1, 2026

On this page
23.0.0
- Signature changed
default.Account.FutureRequirements.Error.Code
Was type Code = 'external_request' | 'information_missing' | 'invalid_address_city_state_postal_code' | 'invalid_address_highway_contract_box' | 'invalid_address_private_mailbox' | 'invalid_business_profile_name' |... npmjs.com - Signature changed
default.Account.Requirements.Error.Code
Was type Code = 'external_request' | 'information_missing' | 'invalid_address_city_state_postal_code' | 'invalid_address_highway_contract_box' | 'invalid_address_private_mailbox' | 'invalid_business_profile_name' |... npmjs.com - Signature changed
default.AccountRejectParams.reason
Was reason: string; now reason: AccountRejectParams.Reason. npmjs.com - Signature changed
default.BalanceTransaction.Type
Was type Type = 'adjustment' | 'advance' | 'advance_funding' | 'anticipation_repayment' | 'application_fee' | 'application_fee_refund' | 'charge' | 'climate_order_purchase' | 'climate_order_refund' | 'connect_collection_transfer' |... npmjs.com - Signature changed
default.BankAccount.FutureRequirements.Error.Code
Was type Code = 'external_request' | 'information_missing' | 'invalid_address_city_state_postal_code' | 'invalid_address_highway_contract_box' | 'invalid_address_private_mailbox' | 'invalid_business_profile_name' |... npmjs.com - Signature changed
default.BankAccount.Requirements.Error.Code
Was type Code = 'external_request' | 'information_missing' | 'invalid_address_city_state_postal_code' | 'invalid_address_highway_contract_box' | 'invalid_address_private_mailbox' | 'invalid_business_profile_name' |... npmjs.com - Signature changed
default.Capability.FutureRequirements.Error.Code
Was type Code = 'external_request' | 'information_missing' | 'invalid_address_city_state_postal_code' | 'invalid_address_highway_contract_box' | 'invalid_address_private_mailbox' | 'invalid_business_profile_name' |... npmjs.com - Signature changed
default.Capability.Requirements.Error.Code
Was type Code = 'external_request' | 'information_missing' | 'invalid_address_city_state_postal_code' | 'invalid_address_highway_contract_box' | 'invalid_address_private_mailbox' | 'invalid_business_profile_name' |... npmjs.com - Signature changed
default.Charge.PaymentMethodDetails.Card.mandate
Was mandate: string | null; now mandate: string | Mandate | null. npmjs.com - Signature changed
default.Checkout.Session.PaymentMethodOptions.Alipay.setup_future_usage
Was setup_future_usage?: 'none'; now setup_future_usage?: Alipay.SetupFutureUsage. npmjs.com
And 491 more in this version.
22.7.0-alpha.3
- Signature changed
PaymentIntent.payment_record
payment_record is now always present on PaymentIntent, so code that handles it as possibly absent may need updating. github.com - Signature changed
Subscription.trial_settings.end_behavior.billing_cycle_anchor
billing_cycle_anchor is now required in Subscription trial_settings end_behavior. github.com
22.7.0-alpha.2
- Removed
Charge.payment_method_details.card.three_d_secure.result
The data_share_only value is removed from three_d_secure result enums. Document 2 later re-adds it. github.com - Removed
PaymentIntentCreateParams.payment_method_types
The payment_method_types parameter is removed from PaymentIntent and SetupIntent create, update and confirm params. Use allowed_payment_method_types instead. github.com - Removed
V2.Core.Account.configuration.merchant.gross_settlement.payment_method_collection
The payment_method_collection field is removed from gross_settlement in merchant configuration. github.com - Removed
V2.Core.ApprovalRequest.execute
The execute and submit methods are removed from V2.Core.ApprovalRequest; code calling them must change. github.com - Signature changed
Checkout.Session.payment_method_options.bancontact.setup_future_usage
setup_future_usage changes from a fixed none value to none or off_session, so code assuming only none may need updating. github.com - Signature changed
PaymentIntent.allowed_payment_method_types
allowed_payment_method_types is now required on PaymentIntent and SetupIntent, so requests and objects must always include it. github.com - Signature changed
ProductCatalog.TrialOffer.price
The price field type changes from Price to deletable($Price), so code reading it as a plain Price must handle the new type. github.com
22.7.0-alpha.1
- Removed
Account.capabilities
The sequra_payments value is no longer accepted on Account.capabilities in this alpha; code that sets or reads it must change. Document 1 later re-adds it. github.com - Removed
Charge.payment_method_details
The sequra value is removed from several payment method detail types in this alpha. Document 1 later re-adds it. github.com - Removed
PaymentMethod.type
The sequra value is removed from the PaymentMethod type enum in this alpha. github.com - Removed
PaymentMethodCreateParams.type
The sequra value is removed from the type parameter of payment method create and list calls in this alpha. github.com - Removed
Subscription.pending_update.cancel_at_period_end
The cancel_at_period_end field is no longer present on Subscription.pending_update. github.com - Signature changed
FinancialConnections.Transaction.classifications[].money_movement
The money_movement field on transaction classifications is now optional, so code that assumes it is always present may need a check. github.com - Signature changed
FinancialConnections.Transaction.classifications[].personal_finance
The personal_finance field on transaction classifications is now optional, so code that assumes it is always present may need a check. github.com
22.0.0
- Removed
Service methods no longer accept callbacks. Use async/await or promises. github.com - Removed
host
Set the host in the client configuration instead; per-request host is no longer used. github.com - Removed
require('stripe').default
The CommonJS export is now the constructor itself. Import it directly instead of reading .default or .Stripe. github.com - Removed
stripe
The global stripe ambient module declaration is gone. Import the package directly instead. github.com - Removed
Stripe.StripeContext
Use Stripe.StripeContextType instead of Stripe.StripeContext as a type. github.com - Removed
stripe.types
Remove any /// reference types directives pointing at stripe/types; types now resolve from the exports map. github.com - Removed
stripeMethod
Service methods no longer accept callbacks; use async/await or promises instead. github.com - Removed
StripeResource._joinUrlParts
This method is no longer available on StripeResource. github.com - Removed
StripeResource.createFullPath
This method is no longer available on StripeResource. github.com - Removed
StripeResource.createResourcePathWithSymbols
This method is no longer available on StripeResource. github.com
And 5 more in this version.
21.1.0-beta.1
- Removed
Charge.payment_method_details.stripe_balance.source_type
The source_type field is no longer supported on Charge.payment_method_details.stripe_balance. Stop sending or reading it. github.com - Signature changed
V2.Billing.Cadence.settings_data.collection.payment_method_options.card.mandate_options.amount
The amount field changes from a longInteger to an int64_string. Update code that reads or sends it. github.com - Signature changed
V2.Billing.CollectionSetting.payment_method_options.card.mandate_options.amount
The amount field changes from a longInteger to an int64_string. Update code that reads or sends it. github.com - Signature changed
V2.Billing.CollectionSettingCreateParams.payment_method_options.card.mandate_options.amount
The amount field changes from a longInteger to an int64_string. Update code that sends it. github.com - Signature changed
V2.Billing.CollectionSettingUpdateParams.payment_method_options.card.mandate_options.amount
The amount field changes from a longInteger to an int64_string. Update code that sends it. github.com - Signature changed
V2.Billing.CollectionSettingVersion.payment_method_options.card.mandate_options.amount
The amount field changes from a longInteger to an int64_string. Update code that reads it. github.com - Signature changed
V2.Core.Vault.GbBankAccount.sort_code
sort_code is now optional on the GbBankAccount type. Code that assumes it is always present must handle a missing value. github.com - Signature changed
V2.Core.Vault.GbBankAccountCreateParams.account_number
account_number is now optional when creating a GB bank account. github.com - Signature changed
V2.Core.Vault.GbBankAccountCreateParams.sort_code
sort_code is now optional when creating a GB bank account. github.com
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous management.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp