Membership sites are long being offered as a lucrative, passive profit model for many business areas. In today's cloud-based enviornments, billing clients for subscription-based cloud services is becoming the winning business model. They are easier to sell, and easier for affiliates to promote.
Which modules are best for the task?
One option is Drupal Commerce, the most popular commerce package for Drupal 7.
Drupal Commerce is an open source eCommerce framework. Use it to build truly flexible eCommerce websites and applications based
on Drupal, the best platform for social commerce. (more)
Commerce is very flexible, and can do almost anything, but for a price. It's very heavy (more then a hundred modules are included on the Commerce Kickstart distribution), memory-hungry, and intended more for selling physical products. Selling subscription-based products is at it's infancy, and there is no evidence any of the commerce extensions supports selling more then one kind of subscription per site. And there is no built-in affiliate program support. When trying to install Commerce Kickstart a month ago, I had to increase the total memory and MySQL memory several times until I found a matching combination. Even then, the Kickstart demo could not be installed. There is lots of support and the API is truely flexible, but for my use-case it was simply an overkill, both in terms of time to market and in terms of features.
Another option is the MS Membership Suite, from moneyscripts.net - which develops several payment modules for specific very lucrative use-cases.
Membership Suite is the most comprehensive subscription software for Drupal on the market and it is designed to seamlessly integrate your site with all of the features of a professional Paid Membership Subscription site. There is no other software available for Drupal that can provide the stability, ease of use, and features that Membership Suite offers. (more)
This is a much lighter product, which installs easily, and includes an optional affiliates suite. Documentation was thin. The forums were not as populated - this is a one-man operation. But it works!
- Allows to define membership plans. Many settings per plan - plan options for an additional fee, trial period, optional trial amount, Payment reminders by email.
- Role-based permissions: Ability to remove roles when plan is purchased and re-add them when plan is terminated.
- Adds fields to the standard Drupal registration process.
- Out of the box integration with the content access module which allows access control per node.
- Allows premium content to be accessed only by specific roles.
- Payment supports multiple gateways.
- Ability to export defined plans and import them to another environment (e.g. staging -> production).
- Ability to create views (= reports) on everything, but there are errors when creating such views.
Optional features (some of which requires an optional add-on module):
- Gift memberships - so that not everybody will have to pay
- Reports module - allows for purchasing reports
- Taxes - Allows to set different taxes for each country.
- Role discount - which allows to setup a different discount percent (or amount) for each role. The discount is other one-time, on the initial sum, or recurring.
- No shopping cart
- No built-in ability to sign up to more then one plan at the same time.
To summerize, the moneyscripts.net solution has lots of potential to streamline the process of getting money from your subscription-based site. Not all is documented yet - but this is an open-source product which can be expanded in any direction you need. This is a greay enabler for creating profit-making Drupal websites.