Removes the payment method types parameter from Checkout SessionsBreaking changes
What’s new
Removes the payment_method_types parameter from the create Checkout Session method. You can no longer pass payment_ when you create a Checkout Session. Use dynamic payment methods to manage payment methods from the Dashboard without writing code.
You can also use excluded_payment_method_types to exclude specific payment methods from the dynamic payment methods results or the new allowed_payment_method_types parameter to specify a set of payment methods.
The allowed_payment_method_types parameter accepts an array of payment method type and filters the list to only compatible payment methods based on other parameters such as currency, amount, and customer. The compatible subset is shown in the payment_method_types property of the response.
Previously, payment_method_types returned an error when you specified an incompatible payment method. allowed_ silently filters out incompatible methods and returns only those that work with the current configuration.
Why is this a breaking change?
Passing payment_ as a parameter when you create a Checkout Session now returns a 400 error. If your integration sets this parameter, you must remove it and migrate to dynamic payment methods or allowed_payment_method_types.
Impact
This migration requires careful attention if your integration passes payment_ when creating a Checkout Session. You must update your integration to use dynamic payment methods or switch to allowed_ to get automatic compatibility filtering instead of errors. Requests that include payment_ on this now return a 400 error.
Changes
| Parameters | Change | Resources or endpoints |
| allowed_payment_method_types | Added | |
| payment_method_types | Removed |
Upgrade
- View your current API version in Workbench.
- If you use an SDK, upgrade to the corresponding SDK version for this API version.
- If you don’t use an SDK, update your API requests to include
Stripe-Version: 2026-09-30.endive
- If you don’t use an SDK, update your API requests to include
- Upgrade the API version used for webhook endpoints.
- Test your integration against the new version.
- If you use Connect, test your Connect integration.
Learn more about Stripe API upgrades.
Related changes
- Adds support for Data Share Only for 3D Secure authentication
- Makes Payment Evaluation signal scores nullable
- Removes PayTo-specific fields from Payment Methods
- Enforces collection of billing address parameters for non-EEA SEPA Direct Debit payments
- Removes the payment method types parameter from Payment Intents and Setup Intents
- Returns specific decline codes for BLIK payment failures
- Deprecates the payment request button
- Shows pending-authorization UI for MB WAY, Bizum, and BLIK with stripe.handleNextAction
- Removes support for the payment method types option in Elements
- Saves Bancontact payment details for future off-session payments in Checkout
- Adds the Standalone 3D Secure API
- Adds support for SeQura payments
- Adds card-present payment methods to allowed payment method types
- Adds Link funding source group details on Payment Records
- Adds early fraud warnings and fraudulent dispute signals for Payment Evaluations
- Adds the ability to report canceled payments
- Adds support for expanding the mandate on card payment method details
- Adds the Payment Record property to the Payment Intent object
- Adds Link wallet details to Payment Records for card payments
- Adds 3D Secure versions 2.3.0 and 2.3.1 to Payment Records
- Adds support for BLIK recurring off-session payments
- Adds PayPay support for one-time online payments in Japan
- Exposes the network response electronic commerce indicator on card charges
- Adds payment method type information for failed payments
- Adds MoMo payment method details to Payment Records