Stripe Checkout 400 error after updating? payment_method_types was removed
Ship ItChecked against the official source
Source checked 24 Oct 2026 · Published 29 Oct 2026 · Last reviewed 29 Oct 2026 · By Ctrl+Z Therapy (how we test)
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
- Find where your app creates a Checkout Session. If it sets payment_method_types, Stripe says you must remove it.
- 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.
- Test your integration in test mode before you ship.
- 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.