Drupal Commerce membership websites - Role-based products & recurring payments

1., 3., 4. and 5. can be combined to sell product based roles and to have an advanced recurring framework (compared to 2.)

1. Commerce License
https://www.drupal.org/project/commerce_license
Provides a framework for selling access to local or remote resources. In practice, this means that there’s a license entity, usually created during order checkout, that holds information about accessing the purchased resource, and it has a status and an optional expiration date. This allows selling access to anything from files to node types, or perhaps ZenDesk tickets and accounts on remote sites, all using a common API, while always having a record of the purchased access for the benefit of both the store administrator and the customer. Includes the important sub-module Commerce License Role.

2. Commerce License Billing
https://www.drupal.org/project/commerce_license_billing
Commerce License Billing provides advanced (prepaid, postpaid, prorated, plan-based, metered) recurring billing for licenses. Any license type can be used for recurring billing without changes. A license is considered billable if its product has a billing cycle type selected. If the license type wants to have metered billing, it must implement the CommerceLicenseBillingUsageInterface interface.

3. Commerce Recurring Framework
https://www.drupal.org/project/commerce_recurring
Provides a rules, field and entity based approach to recurring billing for Drupal commerce. Auto-generate new orders based on recurring configuration decoupling payment from recurring process and leveraging the payment responsibility directly to the payment method.

See also: https://www.drupal.org/node/1935034

4. Commerce Card on File
https://www.drupal.org/project/commerce_cardonfile
Commerce Card on File provides an API and user interface for storing and reusing credit card data on subsequent orders within Drupal Commerce. The module does not retain full card numbers locally but instead stores the remote ID of the full card data from the payment gateway used to validate and process your credit card transactions. This means card on file data will only be good for a single payment gateway; if you change payment gateways or accounts, your stored card data may no longer be usable.

5. Commerce Recurring Framework Bonus
Extends the great "Commerce Recurring Framework" module in the following aspects: "Add Recurring" UI, new Rule "Get expired recurring entities" and "Get unprocessed due items" (depending if an order has been created before), new rule action "Start recurring" (additionally to the default "Stop recurring" action) and other improvements!

Drupal Commerce membership websites - recurring payments
Taxonomy: 

Drupal themes to be compared