Fold every component into ONE authoritative total: subtotal − discount + shipping + tax, each a non-negative whole
cent and the discount never exceeding the subtotal. The single place the order total is composed once shipping (a
ShippingOption) and tax (a TaxResult) are resolved — so the cart drawer, checkout summary, order record, and the
Stripe charge can never disagree.
Fold every component into ONE authoritative total: subtotal − discount + shipping + tax, each a non-negative whole cent and the discount never exceeding the subtotal. The single place the order total is composed once shipping (a ShippingOption) and tax (a TaxResult) are resolved — so the cart drawer, checkout summary, order record, and the Stripe charge can never disagree.