What changed
Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.
Affects funding on payments_primitives_payment_records_resource_payment_method_card_details reachable from 99 operations. Nothing fails at the call; it fails wherever the value is finally used, which is usually somewhere else entirely.
no longer guaranteed present; can now be null
Who is affected
Code that reads Stripe's payments_primitives_payment_records_resource_payment_method_card_details objects, used by 99 Stripe operations.
Before and after
| Where | Before | After |
|---|---|---|
| payments_primitives_payment_records_resource_payment_method_card_details.funding | always present | may be missingno longer guaranteed present |
| payments_primitives_payment_records_resource_payment_method_card_details.last4 | always present | may be missingno longer guaranteed present |
| payments_primitives_payment_records_resource_payment_method_card_details.brand | string | null|stringcan now be null |
| payments_primitives_payment_records_resource_payment_method_card_details.exp_year | integer | integer|nullcan now be null |
| payments_primitives_payment_records_resource_payment_method_card_details.brand | always present | may be missingno longer guaranteed present |
| payments_primitives_payment_records_resource_payment_method_card_details.exp_month | always present | may be missingno longer guaranteed present |
| payments_primitives_payment_records_resource_payment_method_card_details.exp_year | always present | may be missingno longer guaranteed present |
| payments_primitives_payment_records_resource_payment_method_card_details.exp_month | integer | integer|nullcan now be null |
| payments_primitives_payment_records_resource_payment_method_card_details.funding | string | null|stringcan now be null |
| payments_primitives_payment_records_resource_payment_method_card_details.last4 | string | null|stringcan now be null |
Code that breaks
// response.funding may now be absent or null const funding = response.funding ?? fallback;
Based on Stripe’s published API specification. How severity is decided.