bpuig / laravel-subby

Laravel Plan and Subscriptions manager.
https://bpuig.github.io/laravel-subby
MIT License
102 stars 42 forks source link

Per-Seat Billing Plans feature #141

Open jay2success opened 2 years ago

jay2success commented 2 years ago

Hi,

Thanks for this awesome package.

Some applications charge users per "seat" instead of a fixed monthly price. For example, a project management application might charge $10 monthly per project such that if a user managed five projects they would be billed $50 monthly.

The way it works is there is Model connected to the subscription plan, in this case its Project model.

Each project will have its own subscription which will have separate expiration date.

Here is simple scenario so its easier to understand.

I built SAAS which sell subscription plan based on how many sites they can build.

I have 3 plans:

basic: $10 medium: $20 pro: $30 But all those plans are for 1 site only.

So if they want to add more site, they must buy the same or different plan.

Example: Jan 1st: user A buy basic plan for $10, which is for 1 site. => the subscription tied to Site model with name ex: aaa

Jan 10th: user A want to add more site, so they have to buy the plan again, ex: basic plan for $10 => the subscription tied to Site model with name ex: bbb

So now the user A have 2 basic plan which totals $20 but each has different expired period since they bought it on different date.

So the subscription plan is "per seat" and can be bought multiple times.

Laravel spark has this feature but they don't support custom payment provider.

Hope this scenario clear enough.

Please tell me is it possible for this scenario, thank you.

I hope subby can support this since it's well known model for Saas.

Thanks again.

bpuig commented 1 year ago

Maybe you can give a name to each new subscription. Like the id of that website. The package accepts multiple subscriptions for the user.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.