The subscription validity is tracked and controlled via a date field on the user account, which gets automatically updated once a user buys subscription time with the help of rules.
- Drupal commerce
- Commerce features
- Features 2.x only
- Field Group
- Field permissions
- Interval field (2.x only)
- Rules The 2.x version requires a dev version of May 7th, 2012 or later.
- Sell subscriptions via products.
- Administers can view and customize the subscription validity per user if they have necessary field permissions.
- There are two "rule sets" (Subscription starts, Subscription ends) that make customizing the subscription easy, e.g. one could easily add rules for granting/removing a user role.
- Subscriptions expire automatically once the validity time is reached thanks to the Rules Scheduler (requires cron to function).
- Views integration, as the subscription validity date is implemented as account field.
- Custom notifications like "Warning: Subscription expires in 2 weeks" can be easily configured using Rules and the Rules Scheduler.
- This modules does not implement a recurrent payment solution and automated subscription renewals. Though this could be integrated via add-on modules.
- The module provides only one kind of subscriptions on a site. If multiple subscription types are needed, the module and its configuration could be theoretically cloned (and renamed) though.
How it works
The module enables the creation of "subscription products" which allow you to sell subscriptions of any time period, e.g. a product could be a subscription for 4 weeks. Once a user buys a product with subscription time his subscription validity time is automatically updated.
Any changes to the subscription validity date field are automatically applied by some rules, i.e. the respective components "Subscription start/end" get automatically executed, whereas the "Subscription end" component is scheduled via the Rules Scheduler.
- Customizations are best exported to code by using the Features override module, so this module can be updated while your customizations stay.
Differences between the 2.x and 1.x versions:
- The 2.x version of the module relies upon the Interval field for inputting and storing the subscription time of a product. In 1.x this functionality was provided by an integer field and some custom glue code.
- Version 2.x can properly differentiate between subscription times in months or days as thanks to the Interval field the duration is applied respectively.
Upgrading 1.x to 2.x:
No upgrade path is provided, so upgrading requires some manual interaction. Make sure to fix the subscription time of your products as the field has changed. Apart from that some rules changed, however the usually modified "Subscription start" and "Subscription end" rule sets remain unchanged.