How to architect subscription billing systems that handle plan changes, prorations, trials, and failed payments reliably.