v2.5.0
-
assert annual price is a yearly Stripe interval before switching a merchant to annual billing
-
catch remaining fire-and-forget rejections in changeProductSubscription (crash)
-
charge path must read ANNUAL_PRICING directly, not plan.annual
-
make PaymentDesign abbreviation/acronym optional on create/update
-
send non-empty abbreviation/acronym to Voucher service on payment design create/update
-
stop unhandled-rejection pod crash from fire-and-forget partition creation
-
environment-aware annual pricing (sandbox ids in test-mode envs, live in prod)
-
expose merchant current billingCadence in the billing verify response
-
gift cards & gift certificates (closed-loop stored value)
-
use LIVE annual price ids + gate annual to production
-
wire real annual prices for the 21 industry plans