---
title: "stripe Breaking Changes on npm | Since.dev"
description: "What each stripe release removed, renamed or changed: 948 breaking changes in 11 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/stripe
last_updated: 2026-10-01
---

# 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

## 23.0.0

501 breaking changes, first published October 1, 2026.

- **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](https://www.npmjs.com/package/stripe/v/23.0.0)
- **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](https://www.npmjs.com/package/stripe/v/23.0.0)
- **Signature changed** `default.AccountRejectParams.reason`  

Was reason: string; now reason: AccountRejectParams.Reason. [npmjs.com](https://www.npmjs.com/package/stripe/v/23.0.0)
- **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](https://www.npmjs.com/package/stripe/v/23.0.0)
- **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](https://www.npmjs.com/package/stripe/v/23.0.0)
- **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](https://www.npmjs.com/package/stripe/v/23.0.0)
- **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](https://www.npmjs.com/package/stripe/v/23.0.0)
- **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](https://www.npmjs.com/package/stripe/v/23.0.0)
- **Signature changed** `default.Charge.PaymentMethodDetails.Card.mandate`  

Was mandate: string | null; now mandate: string | Mandate | null. [npmjs.com](https://www.npmjs.com/package/stripe/v/23.0.0)
- **Signature changed** `default.Checkout.Session.PaymentMethodOptions.Alipay.setup_future_usage`  

Was setup_future_usage?: 'none'; now setup_future_usage?: Alipay.SetupFutureUsage. [npmjs.com](https://www.npmjs.com/package/stripe/v/23.0.0)

And 491 more in this version.

## 22.7.0-alpha.3

2 breaking changes, first published October 1, 2026.

- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.3)
- **Signature changed** `Subscription.trial_settings.end_behavior.billing_cycle_anchor`  

billing_cycle_anchor is now required in Subscription trial_settings end_behavior. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.3)

## 22.7.0-alpha.2

7 breaking changes, first published October 1, 2026.

- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.2)
- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.2)
- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.2)
- **Removed** `V2.Core.ApprovalRequest.execute`  

The execute and submit methods are removed from V2.Core.ApprovalRequest; code calling them must change. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.2)
- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.2)
- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.2)
- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.2)

## 22.7.0-alpha.1

7 breaking changes, first published October 1, 2026.

- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.1)
- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.1)
- **Removed** `PaymentMethod.type`  

The sequra value is removed from the PaymentMethod type enum in this alpha. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.1)
- **Removed** `PaymentMethodCreateParams.type`  

The sequra value is removed from the type parameter of payment method create and list calls in this alpha. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.1)
- **Removed** `Subscription.pending_update.cancel_at_period_end`  

The cancel_at_period_end field is no longer present on Subscription.pending_update. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.1)
- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.1)
- **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](https://github.com/stripe/stripe-node/releases/tag/v22.7.0-alpha.1)

## 22.0.0

15 breaking changes, first published April 3, 2026.

- **Removed**  

Service methods no longer accept callbacks. Use async/await or promises. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)
- **Removed** `host`  

Set the host in the client configuration instead; per-request host is no longer used. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)
- **Removed** `require('stripe').default`  

The CommonJS export is now the constructor itself. Import it directly instead of reading .default or .Stripe. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)
- **Removed** `stripe`  

The global stripe ambient module declaration is gone. Import the package directly instead. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)
- **Removed** `Stripe.StripeContext`  

Use Stripe.StripeContextType instead of Stripe.StripeContext as a type. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)
- **Removed** `stripe.types`  

Remove any /// reference types directives pointing at stripe/types; types now resolve from the exports map. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)
- **Removed** `stripeMethod`  

Service methods no longer accept callbacks; use async/await or promises instead. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)
- **Removed** `StripeResource._joinUrlParts`  

This method is no longer available on StripeResource. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)
- **Removed** `StripeResource.createFullPath`  

This method is no longer available on StripeResource. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)
- **Removed** `StripeResource.createResourcePathWithSymbols`  

This method is no longer available on StripeResource. [github.com](https://github.com/stripe/stripe-node/releases/tag/v22.0.0)

And 5 more in this version.

## 21.1.0-beta.1

9 breaking changes, first published April 3, 2026.

- **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](https://github.com/stripe/stripe-node/releases/tag/v21.1.0-beta.1)
- **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](https://github.com/stripe/stripe-node/releases/tag/v21.1.0-beta.1)
- **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](https://github.com/stripe/stripe-node/releases/tag/v21.1.0-beta.1)
- **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](https://github.com/stripe/stripe-node/releases/tag/v21.1.0-beta.1)
- **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](https://github.com/stripe/stripe-node/releases/tag/v21.1.0-beta.1)
- **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](https://github.com/stripe/stripe-node/releases/tag/v21.1.0-beta.1)
- **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](https://github.com/stripe/stripe-node/releases/tag/v21.1.0-beta.1)
- **Signature changed** `V2.Core.Vault.GbBankAccountCreateParams.account_number`  

account_number is now optional when creating a GB bank account. [github.com](https://github.com/stripe/stripe-node/releases/tag/v21.1.0-beta.1)
- **Signature changed** `V2.Core.Vault.GbBankAccountCreateParams.sort_code`  

sort_code is now optional when creating a GB bank account. [github.com](https://github.com/stripe/stripe-node/releases/tag/v21.1.0-beta.1)

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#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.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
