Skip to content
Create account or Sign in
The Stripe Docs logo
/
Ask AI
Create accountSign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
APIs & SDKsHelp
Overview
Versioning
Changelog
    Overview
    Dahlia
    Clover
    Basil
    Acacia
    Previous versions
Upgrade your API version
Upgrade your SDK version
Essentials
SDKs
API
Testing
Stripe CLI
Stripe Projects
Tools
Stripe Dashboard
Workbench
Developers Dashboard
Stripe for Visual Studio Code
Terraform
Stripe Discord server
Features
Workflows
Batch jobs
Event destinations
Stripe health alertsStripe SignalsFile uploads
AI solutions
Model Context ProtocolAgent skillsStripe Directory
Extend Stripe
Overview
Build Stripe apps
Use apps from Stripe
Build extensions
Custom objects
Security and privacy
Security
Activity logsStripebot web crawler
Privacy
Partners
Partner ecosystem
Partner certification
United States
English (United States)
  1. Home/
  2. Developer resources/
  3. Changelog/
  4. Dahlia/
  5. 2026-03-25.dahlia
Breaking changes

Removes deprecated Payment Intents, Setup Intents, and Sources methods from Stripe.jsBreaking changes

What’s new

Removes several deprecated methods from Stripe.js in favor of equivalent methods with clearer naming and improved functionality.

Why is this a breaking change?

The following methods have been removed and will throw an error if called:

Payment Intents API:

  • handleCardPayment
  • confirmPaymentIntent
  • handleFpxPayment

Setup Intents API:

  • handleCardSetup
  • confirmSetupIntent

Sources API:

  • createSource
  • retrieveSource

Impact

If your integration uses any of the deprecated methods, you must update your code to use different methods, as in the following examples:

Payment Intents API methods

  • Replace handleCardPayment with confirmCardPayment, which has a similar API signature and behavior.
// Before (deprecated) stripe.handleCardPayment(clientSecret, cardElement); // After stripe.confirmCardPayment(clientSecret, { payment_method: { card: cardElement, }, });
  • Replace confirmPaymentIntent with the more explicit confirmCardPayment.
// Before (deprecated) stripe.confirmPaymentIntent(clientSecret, { payment_method: { card: cardElement, }, }); // After stripe.confirmCardPayment(clientSecret, { payment_method: { card: cardElement, }, });
  • Replace handleFpxPayment with confirmFpxPayment, which has an identical API signature and behavior.
// Before (deprecated) stripe.handleFpxPayment(clientSecret, { payment_method: { fpx: fpxBankElement, }, }); // After stripe.confirmFpxPayment(clientSecret, { payment_method: { fpx: fpxBankElement, }, });

Setup Intents API methods

  • Replace handleCardSetup` with confirmCardSetup, which has a similar API signature and behavior.
// Before (deprecated) stripe.handleCardSetup(clientSecret, cardElement); // After stripe.confirmCardSetup(clientSecret, { payment_method: { card: cardElement, }, });
  • Replace confirmSetupIntent with the more explicit confirmCardSetup.
// Before (deprecated) stripe.confirmSetupIntent(clientSecret, { payment_method: { card: cardElement, }, }); // After stripe.confirmCardSetup(clientSecret, { payment_method: { card: cardElement, }, });

Sources API methods

If your code uses methods like createSource and retrieveSource from the legacy Sources API, migrate your integration to use the Payment Methods API instead.

The Payment Methods API provides better support for payment methods, reusability, and compliance requirements.

Related changes

  • Changes the Address Element state field to default to Latin-formatted characters
  • Updates the elements.update() method to return a Promise
  • Removes support for boolean values in options.layout.radios
  • Renames Checkout initialization method
  • Renames Embedded Checkout initialization method
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Chat with Stripe developers on Discord.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc
On this page