Prasanna Natarajan

Recurring Billing Design - notes

Notes taken while reading Multitenancy with Rails. This (incompletely) captures the process of implementing a recurring billing functionality in a web app.

Formulating Plans

Creating Subscriptions

Create a Braintree Customer

Choosing a Plan

Adding a Credit Card Form

Taking User’s money

Changing Subscriptions

Users should be able to change subscriptions too. So, apart from the “Pick a Plan” page, there should also be a “Switch Plans” page. It should only be accessed to a user who’s signed in, and already has a subscription. Switching should also be restricted based on plans. Disable switching to plans based on usage limits.

Process Webhooks

Things to be careful about