Back when we started Drip in 2012, it was customary to write your own recurring billing engine.
Fundamentally, a SaaS billing engine is simply a scheduled task that runs each month for each customer and hits a payment API to charge them. Layered on top that is the concept of pricing tiers, trial periods, failed charge retry, proration, annual plans, and invoice generation.
Most developers these days choose not to build their own billing engine, as free platforms like Stripe subscriptions promise to rid your application code of complex billing logic. It seems like a no-brainer, right?
At Drip, we discovered that many of our billing needs actually fall outside the “sweet spot” of recurring billing solutions on the market today. Rather than shoehorning into Stripe subscriptions, it was simpler to manage the recurring aspect of billing ourselves alongside all the other custom logic we were implementing.
If your application shares similar billing characteristics as Drip, you may also find that building your own billing engine is the simpler option.
Continue reading →