I'm just about to start building a link directory and I'm at odds over the best way to go about it.

The directory will accept both standard (free) and premium subscriptions. Premium subscribers will have extra fields available to them to fill out and display on their 'profile' page (standard link directory model I guess).

The front-end directory itself will be based on taxonomy/views so that's not an issue, but I'm struggling with the best way to handle the subscriptions. Conceptually I guess I would be selling access to a user role for a limited period of time, and showing/hiding various fields on the profile form based on the role's permissions.

I'd prefer to use Commerce and I'm struggling to find a stable module (or example using rules) that would help me plan out this subscription system.

Has anyone built a similar system before? If not can anyone think of a good collection of modules/workflow to accomplish this? I'm happy to write as much custom code as is needed but I'd rather not reinvent the wheel where possible, and it seems like Drupal is made for this kind of thing.


Following Patrick Kenny's comment I should add that I don't need these subscriptions to recur automatically, just for the access to the role to expire after a certain amount of time.

If this will be difficult to do with Commerce I'd love to hear any other ideas (Ubercart, etc).

  • 1
    The presentation at Drupalcon Denver on recurring billing concluded flatly that there was no good way to do this right now, unfortunately. May 2, 2012 at 13:49
  • Thanks @PatrickKenny that's good info to have. I'll update the question
    – Clive
    May 2, 2012 at 14:01
  • what form of payments do you want to accept?
    – uwe
    May 2, 2012 at 14:59
  • @MotoTribe I'd like to keep it as flexible as possible really; Initially I think it will PayPal, but this client is extremely financially-driven so as soon as something cheaper comes along in the UK they're very likely to change their mind
    – Clive
    May 2, 2012 at 15:23
  • do you need to integrate with paypal or are they manually adding and removing subscriptions?
    – uwe
    May 2, 2012 at 16:30

1 Answer 1


I'm building a site with free and paid memberships now; my use case isn't exactly the same but I'll share what I can.

I'm not using Drupal Commerce; in my case, users make a payment with PayPal and then I manually add a paid role to each account. I intend to eventually set this up in Drupal Commerce but I haven't had the time yet.

When I add the paid role, a rule is triggered that automatically sets an expiration date using the Role Expire module. Until very recently the 7.x rules integration was bugged but I am happy to report that it is now fixed and works great.

As for working with Commerce, Randy Fay also did a screencast on setting up content access for a membership site. I'm not sure if the content access part is relevant but the final part of the screencast covers:

  • Create a product representing the premium role.
  • Create a rule that grants the premium role on order completion:
    1. After updating an order
    2. If the order state is Completed
    3. And the order contains our premium product
    4. Add a role to the user who is the owner of the order
  • That looks like a good solution for what I'm trying to do, thanks
    – Clive
    May 2, 2012 at 19:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.