Silent sdk
stripe-python v15 and stripe-node v21 return unit_amount_decimal and other decimal_string fields as Decimal, not string; string equality checks silently go false
What changes
The JSON on the wire is unchanged. The SDKs now parse decimal_string fields (unit_amount_decimal, quantity_decimal, fx_rate, ...) into decimal.Decimal (Python) or Stripe.Decimal (Node). Code like unit_amount_decimal == "1000" returns false without an error.
Silent: No error. Behavior, results, or cost change quietly.
What to do
Compare with Decimal("…") in Python or Stripe.Decimal in Node, not strings; pass Decimal values in request params; add a fixture with the new type before bumping the SDK major.
Strings to search for
unit_amount_decimalflat_amount_decimalquantity_decimalfx_rate
Source
https://github.com/stripe/stripe-python/releases/tag/v15.0.0