When users create a node, they should be redirected to a payment page; if payment is successful, the user can see the node.

Is there any way to achieve this?


Although not open source, there is the paid for module called 'pay to publish'.

I've not used this exact module, but have used this companies products before and they worked 100% as advertised...

For some reason my phone will not allow me to paste the URL in here, so just Google 'moneyscripts Drupal pay to publish'.


If you're using Drupal Commerce you could acheive this pretty easy using Rules and a custom defined user role.

Create a user role which is restricted from viewing the content type you want them to pay for. Then configure a Rule which assigns the newly define role to your customer once they have succesfully completed payment. This means that only users who have paid for your product will have access to the content type.

  • 2
    Except you would need a different role for each node that needs to be paid for. And I think the OP is referring to creating a node, not viewing one. – 2pha Mar 21 '15 at 7:32

I think you're looking for Commerce Node Checkout.

Integrate with Commerce in order to allow you to charge users to create nodes. It is possible to have multiple different product offerings for each node type, so the user can pick the product they want to purchase when creating the node. An example use-case would be a classifieds site that charges people to post listings.

The module creates a Paid Posting product type. You created different products for different posting options (e.g. multiple options for how long the posting is published) you then associate those options with a content type you want a user to purchase.

After completing the node creation workflow and selecting the purchase option, a user is redirect to the cart for checkout. Upon checkout the node is published. There is optional functionality to make the node expire after a set amount of time.


You could also use Payment Reference field module of the Payment project.

  • 1
    I think this answer could be improved with some more details about how to set this up. – Letharion Feb 4 '13 at 10:56
  • @Letharion yes you are right , i have to use beanstream sub-module of commerce and i want to save the node only if payment is successfull – Abubakar Shams Mar 29 '13 at 11:54

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.