What changed
Usually ignored rather than rejected, so the call succeeds and does something subtly different.
Affects payment_method_types on POST /v1/checkout/sessions. Grep for it: nothing else will tell you.
Who is affected
Code that sends POST /v1/checkout/sessions (payment_method_types).
Before and after
| Where | Before | After |
|---|---|---|
| POST /v1/checkout/sessions · payment_method_types | present | absent |
| POST /v1/payment_intents · payment_method_types | present | absent |
| POST /v1/payment_intents/{intent} · payment_method_types | present | absent |
| POST /v1/payment_intents/{intent}/confirm · payment_method_types | present | absent |
| POST /v1/setup_intents · payment_method_types | present | absent |
| POST /v1/setup_intents/{intent} · payment_method_types | present | absent |
Code that breaks
await client.post("/v1/checkout/sessions", {
// payment_method_types is now ignored, not rejected
payment_method_types: value,
});Based on Stripe’s published API specification. How severity is decided.