Free Accounts

You can offer a free plan to your users, simply by adding a new plan object inside stripe.plans in your config file.

You can name the plan whatever you like, but the id must be set to free

{
"id": "free",
"name": "Hobby",
"price": 0,
"interval": null
}

This will bypass the payment and create a user on a plan called free. You can then restrict features in your app if required based on the user's plan.

Upgrading From Free to Paid

Users on the free plan will be able to upgrade to a paid plan in account » billing. If a user is on the free plan and selects a paid plan, the server will return a 402: Payment Required response, which will redirect the user to a payment form.

You can return a 402 status anywhere in your application to force the user to upgrade to a paid plan.

Once the payment has been processed, a new Stripe customer and subscription is created for the user.

Downgrading to Free

In the event of a user downgrading from a paid to free plan in the billing view. Their Stripe subscription will automatically be cancelled.

When either upgrading or downgrading, the user's plan will be updated in client context so they can immediately access (or not) the features for that plan on the front end.