Licensing and Payment
Overall Explanation
The main entities of the whole structure are: Team and VyndaraProduct
Each Team can have multiple licenses, each license only one team Each License can have multiple tags, each tag multiple licenses
Team
A team contains multiple licenses. Also it contains two subscription entries, monthly and yearly. Each license attached to the team is billde in this subscription cycle. If a license is added / updated the billing cycle will shift to the current date.
License
Each license can have multiple Vyndara Products, the only thing is, it can not have products of different billing intervals / billing types
Tags
Tags on licenses help to identify the license better and implement conditions based on the tag. For example for usage inside Arematics it should not be required to pay for the license, therefor a power user tag should be applied.
Vyndara Product
Holds a link to a Stripe ProductID and a Stripe PriceID with its BillingType and Interval
Problems
- What about Credits for more requests, storage and so on. How are they handled?
- How to handle license invalidation if subscription is not payed? Cancel direct, limit access?
- What about offline licenses how to manage payments there
- Is there overall a better way to integrate it all into Stripe payment flows?