Building admin-editable pricing for a subscription platform, I hit a Stripe design decision worth internalizing: a Price’s amount can’t be edited. Prices are immutable once created.
The pattern that works:
- Admin changes a plan’s price → mint a new Stripe Price on the same Product.
- New subscriptions attach to the new Price immediately.
- Existing subscriptions keep their old Price and migrate at their next renewal — nobody’s mid-cycle billing changes underneath them.
The immutability that first feels like an obstacle is actually the audit trail: every subscription permanently references the exact price it was sold at. Your own database should mirror this — treat price rows as append-and-archive, never update-in-place, so the catalog you show admins and the Prices Stripe bills from can’t drift apart.