What changed
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects result on payments_primitives_payment_records_resource_payment_method_card_details_resource_three_d_secure reachable from 48 operations.
New value: data_share_only.
can now return "data_share_only"
Who is affected
Code that reads Stripe's payments_primitives_payment_records_resource_payment_method_card_details_resource_three_d_secure objects, used by 159 Stripe operations.
Before and after
| Where | Before | After |
|---|---|---|
| payments_primitives_payment_records_resource_payment_method_card_details_resource_three_d_secure.result | "attempt_acknowledged", "authenticated", "exempted", "failed", "not_supported", "processing_error" | "attempt_acknowledged", "authenticated", "data_share_only", "exempted", "failed", "not_supported", "processing_error" |
| three_d_secure_details_charge.result | "attempt_acknowledged", "authenticated", "exempted", "failed", "not_supported", "processing_error" | "attempt_acknowledged", "authenticated", "data_share_only", "exempted", "failed", "not_supported", "processing_error" |
| three_d_secure_details.result | "attempt_acknowledged", "authenticated", "exempted", "failed", "not_supported", "processing_error" | "attempt_acknowledged", "authenticated", "data_share_only", "exempted", "failed", "not_supported", "processing_error" |
Code that breaks
switch (response.result) {
// existing branches …
// no branch for "data_share_only"
default:
throw new Error("unexpected result");
}Based on Stripe’s published API specification. How severity is decided.