Driftwatch

Stripe / Stripe API /

Breakingdirection flip: their tools call this safe

payment_method_types is no longer accepted

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

WhereBeforeAfter
POST /v1/checkout/sessions · payment_method_typespresentabsent
POST /v1/payment_intents · payment_method_typespresentabsent
POST /v1/payment_intents/{intent} · payment_method_typespresentabsent
POST /v1/payment_intents/{intent}/confirm · payment_method_typespresentabsent
POST /v1/setup_intents · payment_method_typespresentabsent
POST /v1/setup_intents/{intent} · payment_method_typespresentabsent

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.