I’ve been working on an open source SaaS solution for Rails over Christmas called Saasy (pronouced “sarrsy” – using a posh voice).
- Subscription management
- Recurring billing
- Credit card management
- User authentication and SSO
- Mailers for invoices etc
Saasy follows a componentised design. The idea is that you build your custom site, and then the generic authentication, account management and credit card management is split into a separate Rails app (Saasy) – a reusable component.
None of the credit card information is stored locally – but rather at a payment gateway. This greatly simplifies PCI DSS (formally known as CISP) compliance. However, you still have control over when the card is charged – rather than using some of the gateway specific subscription systems – which means you don’t have to worry about gateway callbacks.
Sassy also deals with authentication (both OpenID and credential based) – your main app can forward users to the Saasy SSO, and then they’ll get redirected back once they’ve been authenticated. This means you don’t have to bother generating and customizing authentication code – and also means you can use the same code for authenticating multiple sites (DRY).
Checkout the README on github for a full list of all the features and installation info.