Update: SAAS Ecom is now available in NuGet.

Lately I’ve been thinking of several ideas to offer as Software As A Service, and normally there are several “parts” on any of these systems:

  • Public webiste: where you explain your services / prices and let your potential customer to sign up for your trial.
  • Subscriber area: where your customers login to use the service they have subscribed to, view their invoices, upgrade, etc.
  • Admin / Billing area: this is where the business owners can log in, see customers, sign ups, cancellations, invoices, etc.
  • Application that you offer: This is possible the most important part of all four, because if the customers are not interested in this, they’re not going to sign up.

From the previous four points we can conclude, that the subscriber / billing areas are necessary, but theyare not the core of your SAAS business, but it takes a lot of time and effort to devlop them. There are some companies that offer this kind of product as a service (Recurly, Chargify, Spreedly, ChargeBee, CheddarGetter). Now I’ve started an open source initiative: SAAS Ecom, based in .NET MVC 5, C# integrated with Stripe for payments. Source code available in github, and you can also visit theDemo hosted in Azure websites.

Structure of the project

Public website

This is a demo site, that you’d need to customize for your needs. When someone sign up for a trial, the customer is also created in Stripe. A “welcome” email is also sent to the user, this should be customized too to explain the setup / guide of the service to the customer.

01-SAAS-Ecom

Trial sign-up

If the potential customer decides to try the services being offered, they don’t need to enter any payment details.

02-Register-SAAS-Ecom

Login / Reset password area.

03-Log-in-SAAS-Ecom

Subscriber area

This part of the site, is where our customers can login when they have signed up for a service. They canenter the credit card details, that are saved to Stripe using their Javascript API, so the credit card details are never sent to our server. Only SSL needed to host this application. Here they can change their password too.

04-Dashboard

Payment details form

05-Add-credit-card-Dashboard

Subscriber area with payment details entered

06-Dashboard-card

Invoice detail

07-Invoice-Dashboard

Billing area

This area is where the business owner can manage the business. At the moment, because this project is integrated with Stripe, this part would duplicate pretty much the admin area from Stripe, that’s why it’s the area that hasn’t been fully implemented until I get more feedback or see a real need for it.

08-Billing

At the moment only the subscription plans available can be managed through this admin panel.

Feedback / pull requests are greatly appreciated.