Skip to content
This repository has been archived by the owner on Jan 2, 2024. It is now read-only.

FR: Free Plan #190

Closed
zepatrik opened this issue Dec 5, 2022 · 6 comments
Closed

FR: Free Plan #190

zepatrik opened this issue Dec 5, 2022 · 6 comments
Assignees
Labels
fr Feature request

Comments

@zepatrik
Copy link

zepatrik commented Dec 5, 2022

What are you trying to do?

Implement a free plan next to some paid ones in the pricing.json.

How should we solve this?

It should be defined the same way as any other plan and have certain features. It differs from the other plans because there are no prices, interval, and also no actual stripe subscription backing the data storage (there might not even be a customer).
The feature limits should still be enforced the same way as for any other plan.

What is the impact of not solving this?

No response

Anything else?

Features will likely be all "constant" #183, as there is no way to exceed the limit.

@zepatrik zepatrik added the fr Feature request label Dec 5, 2022
@isaacs
Copy link
Contributor

isaacs commented Dec 7, 2022

I'm curious about your goals here, maybe you can elaborate on how you imagine using this?

If a plan doesn't have any features or prices, then you can't subscribe a customer to it.

It sounds like maybe what you're looking for is a way to specify limits (even if it's just configuration) for a user of your application who has not yet signed up for an account (and so doesn't have any subscription or customer record in Stripe).

The simplest way of creating a "free plan", of course, is to just have a plan where the price of every feature is $0. But there's no way for Tier to set limits for an org if there's no subscription, so for example, tier.limits() will not work without an org that is subscribed to a plan.

@isaacs
Copy link
Contributor

isaacs commented Dec 7, 2022

no actual stripe subscription backing the data storage

At present (until we build a separate hosted service for Tier specifically), Stripe is Tier's "data storage", so without a Stripe Subscription, Customer, Product, or Price backing it, there... isn't anything to "store" 😅

@isaacs
Copy link
Contributor

isaacs commented Jan 27, 2023

So yeah, I think the way to do this is just to have a plan that doesn't charge anything, and go ahead and tier.subscribe() people to it when they sign up (or you encounter a user that doesn't have a plan).

If I'm missing the goal/need here, definitely let me know, happy to reopen this and explore the idea.

@isaacs isaacs closed this as completed Jan 27, 2023
@bmizerany
Copy link
Contributor

One can now (as of v0.7.0) schedule a plan the is in trial mode indefinitely as well.

@zepatrik
Copy link
Author

Does that mean there is no payment method required to subscribe to a "free" plan, or is that one limitation of the current implementation?

@bmizerany
Copy link
Contributor

@zepatrik It should not be required by Stripe to have payment on file to subscribe and maintain a free plan/trial period. Stripe doesn't complain until its time to charge >$0.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
fr Feature request
Projects
None yet
Development

No branches or pull requests

3 participants