How to give unpaid users limited access without making Discourse private?

I’m planning to build a paid membership community with Discourse. Is it possible to have paid members with read/write access, while unpaid members to have only read (or limited read) access.

Unregistered user: Look at topics, categories, search, can’t read what’s inside the topics.
Registered user (paid): All access.

Or do you suggest I keep the group private and make a one-pager frontend landing page with a dynamic list of topic title, categories etc. (which is searchable).

Why I’m trying to do this?

  1. To give people a glimpse of what they can expect by paying for membership. See before you buy approach.
  2. Not to lose out on SEO from the topics created. This should be a funnel for new users who will discover the community from search.

Please guide me.

Hello @jajabor

Have you seen this plugin. I think it offers what you are after?


Actually, Stripe only supports credit cards in my country while leaving out a whole lot of other options my target audience is comfortable using. E.g. netbanking, Google Pay etc. So I am planning to use a 3rd party payment gateway to fulfil that part of the problem.

Is there a way to integrate 3rd party payment gateway instead of Stripe?

You could try to use the Discourse Patreon plugin. It supports more than one payment option and it’d give you essentially the same thing as the other plugin.

1 Like

Thanks for the suggestion. But I’m not keen on using Patreon since they will take commission for adding no functionality that i intend to use.

Is it possible to make Discourse semi-private, by limiting non-registered users to see only the topics + 3 posts per topic. To view the rest of the post (4th post onward), they need to sign up. And I’ll somehow enable payment during sign up.

Please guide.

1 Like

i don’t have a lot of experience with discourse but i’m interested in this question for my own 3rd-party membership system. i always imagined you would manually or automatically set metadata on forum accounts and update it periodically via webhooks.

1 Like