August 16, 2018

SaaS Framework for membership and billing

I'm wondering if anyone has a good framework for a membership SaaS site? Just something with the basics: Stripe or Braintree billing, allowing users login/logout and to reset passwords and such?

I tried using Laravel Spark (https://spark.laravel.com/) But I couldn't get it working after a week.


  1. 3

    I would recommend forgetting larval spark.

    Just use a basic laravel install, which is free. then add stripe yourself using their SDK. It's honestly super easy.

    1. 1

      It is super easy to set up for taking single payments with Stripe. But it is non-trivial to set up for memberships. You have to set up webhooks for renewals, credit card updates/changes, expiring memberships that were cancelled, etc.

      1. 1

        Dealing with stripe’s webhooks is super easy too. They have pretty much the best API setup I’ve ever used.

    2. 1

      But Spark offers everything out of the box - memberships, user management etc. You can do everything yourself of course but if you want to build an MVP quickly I do think Spark is a good choice.

  2. 3

    I've tried everything, including laravel spark, but ultimately ended up building my own thing as existing frameworks will rarely cover your need and will not be worth the hassle in the end.

    I would create a simple HTML website with a login/register form. After the authentication form I would redirect the user to the app on a different sub-domain and handle the payment stuff there. This way you have landing page separate, authentication separate and payment separate.

    1. 1

      Why didn't you like Spark? Or what was Spark missing?

      1. 1

        I didn't dislike it, I in fact loved it pretty much however, it was too cumbersome to customise.

        You need a very, very simple authentication system and some kind of billing system.

        You should roll your own.

  3. 2

    If you can't roll your own app, and want to sell digital downloads or have a simple paywall, Podia.com is worth a look. Otherwise, learn to roll your own platform.

  4. 2

    I’m also building this and hoping to launch the first product in the next 2 weeks! I plan on creating multiple products for each of the major languages/frameworks since I’ve experienced them all and know people have different preferences/experience.

    I’ve also tried Laravel Spark in the past and found that I wasn’t very productive with it but hard to remember why.

  5. 2

    I'm a big fan of Ruby on Rails myself, it's what I use for my projects.

    The Ruby language is a joy to write in, very clean and more straightforward than PHP.

    Rails is also setup so that it is very easy to learn web app development from the community, as everything related values convention over customization.

    There's a wide array of extensions, called "gems", which can handle most typical functionality. For user registration and memberships, the most common gem is Devise. I use Devise myself for user registration, and it couldn't be more simple.

    1. 1

      That's what I used. I essentially ended up building a simple core rails project that acts as the foundation for new ideas. It supports user sign-up, has a simple admin-interface and supports different plans and integrates directly with Stripe. Saves me a ton of time, not having to do all the plumbing work when I create a new project.

      1. 1

        That's an excellent idea! I've wanted to do something just like that myself as I move to begin spinning multiple rails-based side projects. This is definitely the way to go once you're committed to a framework. I do the same thing with Wordpress: I have a custom unstyled boilerplate theme, wrapped up in a "Duplicator" WordPress installation. At the click of a button I have WordPress site ready to build upon with Home, About, Contact, FAQ, Case Study and Testimonial pages ready to go. This includes breakpoints, grids, image and content sliders, and theme options - all with Advanced Custom Fields as the only plugin :D

  6. 2

    I’m currently working on a solution after running into this problem too many times myself. I’d love to know which languages you’re using and how you’d like to start building on top of a framework like this. I have a landing page for early access over at flintui.com

    1. 1

      Hello, colleague! :__)

      Which tech stack do you use?

      1. 1

        All on Firebase infrastructure with a Vue.js front end.

  7. 2

    Upvoted. I'm currently coding all this by hand but it would be great to avoid the same boilerplate each time I start a project.

    1. 2

      Focus on one project.

  8. 1

    Instead of using just stripe, you could also use a subscription provider like recurly or chargebee, which has a free plan for the first 50k

  9. 1

    Ken, I've been using Laravel Spark on my both personal side projects as well as on our corporate projects... All I can say is, it makes your project 50% completed in the beginning. Don't give up and read the documentation. At the end, you will get used to it.

  10. 1

    My default billing system is a WordPress site with Sprout Billing plugin installed.

    I have user + auth for free, billing and processor integrations from Sprout and no running monthly costs besides hosting.

  11. 1

    Perhaps check out https://memberful.com/? I've never used it myself but I've seen some other SaaS apps using it, Memberful has a free plan to get started .

  12. 1

    i think take a look for a rocketr.net its not a framework its a service for the billing part!

  13. 1

    This is definitely a gap area in PHP - I've also run up against this problem.

    There are a few SaaS based products as listed here, but I think for billing you want to have control - I think there is a gap for someone to build a highly functional set of PHP modules / libraries for billing.

    To answer your question though, I have used Wordpress/WooCommerce as the billing engine in the past, which has worked fairly well, even if the app is using a different PHP framework (just use WC and interface with it purely for billing).

    Otherwise just controlling Stripe subscriptions via API works as well.

  14. 1

    I wonder what other people use too. For me I use wordpress + memberpress plugin. Memberpress allows me to set webhooks that I use with Zapier to make invoices and connect to CRM etc. My actual app is not wordpress based. Wordpress is just the site for marketing/docs/user management.

  15. 1

    It sounds like your stack is pretty PHP focused, but for the ruby devs here, you can create a pretty elegant solution just using ruby/rails + devise + stripe (maybe throw in rolify + pundit too), I would recommend exploring that.

  16. 1

    Hey guys, I'm trying to figure out if there is any interest in such things in the next post :) Can you specify the language/framework you would work with and the most important features? Thanks!

  17. 0

    @Ken If you give me a few more days I would love you to test my product-subscription-as-a-service

    https://www.stacksimple.io -- I just gotta add a little admin crud.