we are really new to CiviCRM and Drupal (and this forum). We're trying to setup an online member registration: we want an anonymous user to become a Drupal user filling a registration form with a membership payment. The user account will stay blocked until the payment is received.

We've read the membership documentation (also profiles and civimember sync) but we're still missing the general idea.

If anynone can shed some light on the workflow to achieve this or recommend a good reference, it would be great for us.

Thanks in advance!


Most of what you're describing is handled automatically. Here are some key elements that may help:

  • You must create the membership form as a contribution page. Go to Contributions menu > Manage Contribution Pages and create a new page. Be sure to fill out the "Membership" section.
  • A good reference can be found here.
  • To allow the user to become a Drupal user as part of signup, create a profile from Administer menu > Customize Data and Screens > Profiles. In the profile settings, under "Advanced Settings", there is an option to allow someone to create a Drupal account while filling out the profile. Once you've created the profile, add it to the contribution page from the "Include Profiles" tab.
  • You can decide whether or not to take either online (e.g. credit card) or offline (e.g. mailing in a check, aka "pay later") payments or both for your registration form. If someone pays online, and the transaction is successful, they'll automatically receive a membership. If you allow a "pay later" option, a membership will be created with a status of "pending". It will not be counted as a membership for most purposes. When you mark the contribution as complete, the membership will activate.
  • Worth adding that in (drupal) /admin/config/people/accounts you can set the Drupal user to 'require admin approval' ie their drupal account can be given the 'ok' once payment is received. – petednz - fuzion Feb 14 '16 at 21:15

A couple of other thoughts.

You can use the CiviCRM Membership roles sync module so that only paid up members get a special Drupal Role. I.e. you would let all people signing up get a Drupal account but with no special permissions, and then when they are paid the module can set them as Members role and hence gain access to members-only stuff.

Or if you really only want Drupal accounts for paid up members, and you are wanting something a bit more automated, you could look at Drupal Rules (and CiviCRM Entity module) to create (or unblock) the account based on some civi criteria.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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