Recurring billing for .NET and Stripe

Spend less time

Get your sofware product to market faster by using SAAS Ecom as your billing platform. It's built in ASP.NET MVC 5 and Twitter Bootstrap.


Payment gateway

Use stripe as your gateway. This billing application is nicely integrated.

Open source

Open Source

SAAS Ecom is developed as open source, it's source code is hosted in GitHub under Apache 2 license. Your data is not locked in.


SAAS Ecom uses the most popular technologies in the .NET world. The main requirements for your application is that you need to use ASP.NET Identity 2.1 for membership, and also Entity Framework 6 Code First. Although, if you’re not using EF Code First currently, you can use a second database for membership and SAAS Ecom, and another one for your application data.


This project is available in NuGet, the recommended way to install it is: Create a new MVC 5 project that uses Individual accounts. Then install this NuGet Package:

                    PM> Install-Package SaasEcom.FrontEnd

After installing the package, edit the file "IdentityModels.cs"

                    public class ApplicationUser : SaasEcomUser
                        // default code ...

                    public class ApplicationDbContext : SaasEcomDbContext<ApplicationUser>
                        // default code ...

The SaasEcomUser class defines RegistrationDate and LastLoginDate properties. Anyone installing saas-ecom into their project will need to update their Registration action to define the user as below:

                    var user = new ApplicationUser
                      UserName = model.Email,
                      Email = model.Email,
                      RegistrationDate = DateTime.UtcNow,
                      LastLoginTime = DateTime.UtcNow

Now the solution should compile successfully, but you should complete the following additional steps.

Additional Steps

  • Register in, and get your API Keys.
  • Add your API Keys to Web.config.
  • Configure Stripe Webhooks, the URL will be something like:
  • Enable Entity Framework Migrations, add the first migration and update your database.
  • Integrate your SAAS with the provided view helpers:
  • Create a Subscription (free or paid) on user register.
  • Integrate SAAS View Helpers in the account management section for your customers.

Frequently Asked Questions

I have a freemium SAAS, can I still use SAAS Ecom?

Yes, in this case the recommended approach would be to not create the users in Stripe until a user is a paying customer. You should create a Subscription plan in the database, and use "free" as PlanId, that way you can differentiate the users in a free plan from the users in a paid plan.

I am not using Entity Framework Code First, can I use SAAS Ecom?

Yes, you can create a second database using Entity Framework Code first for billing. This is not an ideal solution and hopefully this dependency will become optional in a future release.

I want to give my customers a Free trial, but I need to collect their credit card on sign up, how can I do it?

This view helper is not provided, but you just need to add the credit card collection details to your register form and submit that to stripe using their js script. Similar to the upgrade form.

Do you support Paypal or Braintree?

Not yet, it might come on a future release but nothing planned so far.

Can I integrate SAAS Ecom with my invoicing application?

Yes, you can do that integration on the controller handling the WebHooks from Stripe.

Is SAAS Ecom being used by any Real Project?

Yes at the moment SAAS Ecom is used by:

  • Photonube: Fremium SAAS for professional photographers.
  • Fluxifi: Twitter analytics SAAS
  • If you're using SAAS in any project, let me know to add you here.

Building SAAS on the Cloud

If you are interested in building Software as a Service, how to build the architecutre for SAAS, and how to build software that will scale as you need it to, this book is for you. It covers topics suitable for not very experienced developers as well as some advanced topics in the last section of this book.

Table of Contents

Part 1: Introduction

This part of the book, introduces the concept of Software as a service, what technical challenges this new software distribution model adds to the traditional software development model. Also, in order to build successful products, it's recommended to build in the shoulder of giants, Microsoft Azure in the case of this book.

Part 2: Real Life Project

The second part of the book, will focus on how to build a simple SAAS product and deploy it to Microsoft Azure. The technical stack is C# ASP.NET MVC. It will integrate with other SAAS services as Mailchimp, Mandrill or SendGrid for emails. Stripe as payment gateway. SAAS Ecom for recurring billing.

Part 3: Real Life Projects Analysis

The last part of this book, will analyse the specific technical challenges of some successful SAAS companies and how they can be addressed:

  • Case Study 1: Social media scheduler for Twitter & Facebook
  • Case Study 2: Email follow up scheduled for marketing
  • Case Study 3: SAAS Analytics
  • Case Study 4. Online photography galleries for photographers

Get notified when the Book launches