Been building subscription and billing logic for at least 15 y.<p>Boilerplate code can help.. learning from others is important.<p>Have you checked both videos on youtube and source code on Github?<p>Like you have said this is more about how to think about it and break it down before any technology issue.<p>My reccomendation is starting with a clean sheet of paper and learning the concepts in this area, how they could connect to help shine a light in the right direction.<p>You are asking two questions, the first about the customer and their subscription, and then the difference between landing and product pages is another. They are related but separate. Some people like feature flags to help handle it, but it might not be needed at all.<p>This becomes a bottleneck for startups, because the billing and account logic can hinder shipping code and features. So thinking about it from the start even a little more can go a long way.<p>You have two options, build, or buy and in both cases it's important to understand how it all works. Some people may or may not want to grandfather features and plans, for example.<p>1) Done for you: SaaS boilerplate can be useful, but it's important to understand the depth of the billing integration.<p>2) Do it yourself: I also use a series of tables in any database schema that has worked well for me in most situations, you have the right idea. It is a reflection of the reading and learning I have done and combining it into one.<p>There is a basic approach that if done well can grow to handle more complexity, and if you don't care, it's easy enough to include a few more tables.<p>Using the concepts you listed above, you can put together a rough sentence of what could be entities / tables in a database. Some may merge together, or need support tables, having the core story is important first.<p>A [Customer] has a [Paid Subscription], to a [Plan (Subscription)], which grants them [Permissions] to login with an [Account] to see certain [Plan Features] on the [Product Pages].<p>This is a basic example for your case, but it will click if you catch a few youtube videos that work for you to learn. After you've watched a few, Happy to chat here or connect offline to walk through.<p>To me, this is one of the single most important things a SaaS / Startup can do, it bakes flexibility into the bread.