Stripe Checkout 400 error after updating? payment_method_types was removed

Ship ItChecked against the official source

The short answer

Stripe's changelog for API version 2026-09-30.endive, a breaking change, says you can no longer pass payment_method_types when you create a Checkout Session, and requests that include it return a 400 error. This applies when your integration uses that API version. Stripe's Node.js library, stripe-node, pins 2026-09-30.endive from version 23.0.0 (September 30, 2026), so a fresh install or an upgrade can switch your checkout code to it.

What to do

  1. Find where your app creates a Checkout Session. If it sets payment_method_types, Stripe says you must remove it.
  2. Manage payment methods from the Stripe Dashboard instead, with dynamic payment methods, without writing code. Or use the new allowed_payment_method_types parameter, which filters to compatible payment methods instead of returning errors.
  3. Test your integration in test mode before you ship.
  4. Ask your AI tool: "Find where this app creates a Stripe Checkout Session. If it passes payment_method_types, remove it so my Dashboard payment methods apply, then test a checkout in test mode."

Good to know

  • Using another Stripe SDK? Check which API version it pins. Integrations on older API versions are not affected by this change.

Source

Checked on 24 Oct 2026. Prices, limits and settings change, so check the source before you rely on them.

Related