Driftwatch

Stripe / Stripe API /

Breakingdirection flip: their tools call this safe

result can now return "data_share_only"

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

WhereBeforeAfter
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.