jezzsantos / saastack

A comprehensive codebase template for starting your real-world, fully featured SaaS web products. On the .NET platform
The Unlicense
15 stars 5 forks source link

Billing integration #29

Closed jezzsantos closed 3 weeks ago

jezzsantos commented 3 months ago

All SaaS products require some form of integration with a billing management system (like Chargebee, Maxio, etc), and often with a payments gateway (like Stripe). These billing management systems are not often also payment gateway, and should be treated separately.

These systems offer their own management portal to define customers, subscription, plans, etc, that various people in the business work with directly to set things up, set pricing plans etc. They also use them to apply extra discount, changes, etc. Some also allow manual reconciliation and taking payments directly.

Many products are themselves integrated directly with the billing management system, and query things like what subscription does the user have, how many users are paid for. They also allow certain users to change pricing plans, and quotas etc.

The job here in SaaStack is to provide a basic integration that does the most common things around billing, that is integrated with the product at the points where information needs to be exchanged between the SaaS platform product and the billing management system.

We need to document the use-cases, and establish a reasonably common starting point, so that the product can easily be changed to work with any variant of billing that the SaaS business wishes to implement as the business changes.