Signing up 2 different types of users: paying customers and non paying customers

I am having trouble even knowing where to start to sign up different customers:

A. Paying customers (after a 30 day trial)
B. Paying customers but with a .edu email
C. Non paying customers (limited app use)

  1. I believe I would get started by adding new fields under “Users” in the database of “paying customer yes/no,” and “college student yes/no.”
  2. After that I am lost on how I need to proceed. Do I create a workflow off of the button sign up?

On top of that, is it even possible to have a condition that the email must be .edu for one type of user?

Does anyone have any information or tutorials on where to get started for this?

Thanks

You have to think about how users are going to register. All with the same registration form or with different ones? You could use a dropdown to let the user select his role, or split it in two roles only. Free and pro user. Everyone that registers has the “group” (user field) -> “free” and they can upgrade to “paid” (or make it a boolean). If they register with a valid .edu mail they get the pro group automatically (you can extract the domain ending with regex).

That’s it. Now you only have to build a dashboard that shows buttons and allows options accordingly to the users group.

Thanks for your quick reply. Sorry I should have explained a bit more. I want every user to be able to use the 30 day free trial(without having to put credit card information in, then after that have a prompt that has them choose to sign up for:

  1. Option A (Free Model): User loses full access and gets only a certain amount of allowable tasks (Is this even possible?) if they dont buy subscription
  2. Option B (Paid Model): User either buys the month to month plan or the yearly plan
  3. Option C: College student gets discounted yearly plan with .edu email

Not sure how to:

A. After 30 days, trigger a sign up form to the paid subscriptions AND reduce the users access (to 2 tasks)
B. Sign the users up to their different plans
C. Have user be able to change the options at any time (not exactly a pressing matter at this stage)

I am thinking a create a pop up with the types of plans so when the 30 days comes they can choose, after that it gets murky.

Thanks,
Josh

  1. With conditions you can set whenever a button or workflow should be accessible if something is given. So for example you can only show certain elements if the user is on the paid plan. You could make them inactive aswell… and so on
  2. You can use stripe integration to manage subscriptions.
  3. As I have explained, get the domain ending and add a boolean field like “isStudent” and set it to true if the mail is .edu or if the user is a verified student.

A. You can shedule an API workflow for a month later during the signup workflow and set the user plan to another state when the workflow runs (= end trial).
B. Simplest not best way: Add a user field “plan” with type text. Set it to trial or pro after signup and change it after 30 days to free (shedule API WF). If the user has an .edu adress set a boolean field “student” to true. You can use this to charge different prices.
C. Would do it monthly.

Why not putting the user on the free plan with a reminder that they don’t have pro anymore.

TBH in your case I suggest doing the function of your app first and then creating the member system.