Connect Site Users to Premium Content with Commerce License
Intro to Commerce License
Commerce License is a module that grants users access to premium digital resources by either a remote or local license.
As of January 20, 2016, Commerce License has been downloaded from Drupal.org 19,500 times. It is maintained by Commerce Guys.
Looking for more tips on Drupal sites with commerce? Check out these stories on the blog:
- - Tuning Drupal Site Performance with Load Storm & New Relic
- - 6 Ways Your Nonprofit Site Can Increase Membership & Donations
- - Authorize.net vs. Paypal
Let's start out by reviewing the old way of setting up commerce on Drupal sites.
The old way of giving access to commerce
- - Commerce
- - Rules
- - Flags
- - Roles
- - Content Access Modules
- - Custom cron jobs
This is a restrictive and very manual process if you want to add another subscription. There are many administrative steps and code modifications just to add another subscription.
New way (using Commerce License)
- - Commerce
- - Commerce License
- - ships with Roles and Files
- - integrates with advancedqueue to keep updated
By using Commerce License, site owners can create billing cycles for purchases. Pre-paid, post-paid, and metered billing are all possible to set up. Admins can also set up license dunning to resend billing if payment isn’t received on the first billing attempt.
If commerce cron goes and tries to do a payment or renewal, and the card is expired or doesn’t go through, dunning will automatically retry the payment and communicate via email that there was a failure in payment.
Our Experience with Commerce License
- - Node Option Premium (nopremium) sets a flag on the node to indicate if it’s premium content
- - Role Field (role_field) client specifies different roles that can have access to a field
- - A custom module to set the view display so that it shows if the files are available to download or to say “Subscribe/Login”
Site owners can set custom expiration dates for licenses and can even allow users to access multiple licenses which expire at different times. For example, a user may start out by purchasing a Basic Subscription and then purchase an Advanced Subscription at a later date.
Licenses are tied into a product. Create the product as you normally would in commerce and once you enable the license module it adds an additional field where you can specify any reference to which license it applies to. This workflow would apply to authenticated users, not anonymous users.