A question regarding the registration process. The project I am currently working on has a 1 step registration form (Drupal default). Upon completion of the form an account is created and the new user is e-mailed with an activation e-mail. At this point they are taken to the payment (ubercart) page to purchase the applicable role for the account.

Issue is, I need the registration form to only be shown either after the account has been paid for OR not to actually create the user until payment has come through.

Is this possible, and if so could you please point me in the right direction?


2 Answers 2


Look into http://www.ubercart.org/docs/user/3366/selling_site_access_role_promotions

  • Thanks. I have looked at that, but this takes an existing user account and changes the role on it. I need the creation of the account to be dependent on payment. Kind of like delaying the creation of account. Aug 26, 2011 at 17:26
  • You can sell role access as the ubercart docs show you. Don't give users without a special role the ability to do anything on the site. You then sell the role that lets them do things on the site. The other alternative would probably require some custom code that hooks into the ubercart checkout process. It can be done, but you'll probably want someone fairly experienced with customizing ubercart to do it for you.
    – David L
    Aug 27, 2011 at 2:15

Well, that is a good point.. You could create a special role for the user registration, before buying, create a special page for this state or use the payment page, and assign permissions to only this page. After the payment is done, assign the user new role, with permission to full site and/or your application.

I think this would be even a better solution because you already make a connection between the potential buyer and your product. They can return to the payment stage anytime, if they were not ready to pay when they visited your site for the first time. It is more likely they will come back this way, because they already made the decision to buy, they already own a password. And it is much easier to make this decision when you know you will pay later, when returning.. :)

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.