Laravel-driven membership system with the help of Auth0 users & roles

Good day to y’all, dear Auth0 Community.

TL;DR: What’s the possible/recommended user registration flow on a Laravel SaaS website, offering free AND paid subscriptions?

I’m planning to develop a Laravel-driven SaaS website, where people are able to choose the membership level during the initial signup process. There’s going to be one free membership, plus 2 paid ones.

When signing up, the user would:

  1. choose the desired membership level;

  2. fill in their email/password credentials;

  3. fill in some additional mandatory personal details, e.g. phone no., address, age, gender, profile picture, and a few more optional ones.

If the chosen membership level was a paid one, the registration form would then include payment fields for the user to fill up.

Except for the “Free” membership, when the form is submitted, it would connect to Stripe, where the payment information is validated.

If payment is successful (or when the “Free” membership form was submitted), the user registration request, along with all the additional user info data, would ideally be saved to Auth0. I was able to find out in the API docs how to use the Custom Claims feature as per OpenID Connect Scopes, which I’m definitely gonna put to good use.

My main questions, however, are related to the overall flow of the registration process. To sum it all up:

  • Does anyone have any idea, if there are any flaws in my crudely-described process above?

  • Can it even be built, the way I described it, that is, with Laravel/Stripe/Auth0? And most importantly:

  • Are there any useful guides that would help me achieve this powerful integration between my framework of choice (Laravel) and the two online platforms?

I would highly appreciate any feedback.

Thanks a lot.

Daniel