ProCourse Memberships 💸

Hi Joe,

The idea for the application is to get some background about the person and what they hope to get out of the community. I am part of another group where we had members come in and leave soon after because it was not a good fit for them.

I could change things to go directly to the member signup page, however, and then, once they have joined, ask them the same questions as part of their onboarding. That would work since in this case i have been talking a lot about what to expect prior to people signing up.

One question: if I go that route, can I send them straight to the procourse member page (where they subscribe and pay) and then create their Discourse account? Or is it still create an account then pick a payment plan?

I would combine this with the Custom Wizard plugin. Using that plugin you can capture any/all information you want on signup and then when the form is submitted, send the user to the membership payment page. That way you have it all in one flow.

Personally, I prefer it this way as opposed to the Paid Memberships Pro route. PMPro can work great up until you start trying to sync group memberships back and forth. You can do it, but in my experience it’s not as easy to set up and isn’t always reliable.

When I ran PMP on my site with group sync, I never had issues, but it’s true you need some technical know-how to make it work. Personal preferences aside, both are definitely options with unique advantages and disadvantages – @madbaker hope we’ve helped you come closer to possible decisions!

@joebuhlig @justin Thanks so much for this. I’m seeing a clearer path now.

1 Like

@joebuhlig @justin. Hi; i thought i would circle back on this…

I got the Custom Wizard plugin working nicely upon signup. It calls a Static Page where the new user can select a recurring membership option (monthly or annual)

I have two levels in the membership plugin and the user goes to the correct membership page via the static page. Awesome.

Only problem is the Stripe integration bit on the page just sits and spins.

  • I’ve combed through the Stripe integration docs on the procourse community site. It seems I’m set up correctly but obviously not. :slight_smile:

  • double checked currencies on the plugin and stripe ( all USD), api keys and the webhook secret. All ‘test’

  • build a onetime payment level in case the subscription model was the culprit (no change)

  • checked the logs on Stripe and there is no record of a call being attempted (nothing in the log)

Is there a way i can check a log in discourse to see what call is being attempted?

I’m up for posting in marketplace for help but if i can figure out what the plugin is trying to do at least it should make this go better. I have reduced my signup flow to the basics with no solution, though according to the docs this should be straight forward now. (Famous last words!)

I’ve done some more digging and a tried few extra things out of desperation:

  • rebuilt the app and ran discourse-doctor to make sure there are no errors
  • deleted and rebuilt my membership levels in the procourse-membership plugins using test stripe keys

I can see the new Product Plans (test version) in Stripe when I enable the levels. Hooray!
But when I go to the payment page for the levels, the page renders but the credit card fields don’t load. I get the spinner forever.

Checking the Discourse Error logs and Stripe Error logs turns up nothing. No entries in either log.

So, I thought, maybe it’s a problem with ‘test mode’. Made these changes:

  • replaced test keys/webhook with production keys/webhook
  • recreated the membership levels within the plugin and enabled them.
  • The new product/plans appear in Stripe in the production area. Yippee!

But the same problem occurs when I go to the Discourse payment page. The page renders but the Credit Card fields don’t load. I get the infinite spinner.

No activity in the Stripe logs or Discourse error logs.

=== Eureka! ===

Ugh. I figured it out.

There’s a script required to make the payment work - It was getting blocked as a security error. I added the script to the whitelist and it works quickly and awesomely.

Pretty important detail, that. I was checking app logs but a quick F12 to check the console would’ve been huge 4 days ago. :face_with_head_bandage:


What happens when, say, a 30-day membership expires? What does the subscriber see? How do they re-subscribe?

Also, how to they cancel a subscription?


hi @john12 did you find the solution? i have faced the same issue

I’m wondering that too.

Also, what happens when a user joins (and pays), and then cancels. Does their subscription end immediately, or after the month they have paid for?


I swapped to Memberful in the end. Much better.

The “Demo Setup Link” in the OP is not working, @joebuhlig :disappointed:

Hey Christian,

Did you ever consider Patreon? Why did you end up going with Memberful? I’m guessing you checked out other options?

Hey @jord8on. I chose Memberful because I felt it was the most transparent membership platform. Users never have to leave my site and it integrates sweet with Discourse. The financial reporting tools are also great, as is their live chat support.

I’ve used Patreon on other projects and I don’t like all the hoops you have to jump through. Their T&Cs also suck. So, not a fan.


Hi @joebuhlig,

I’ve integrated ProCourse Memberships plugin with Stripe Payment Gateway, my currency in INR. I’ve forked the repo and added INR as an option. I’m able to create level and everything works, except that the payment remains incomplete. i.e. 3D secure is not implemented and it doesn’t go to any verification step. It asks for card details and then goes to complete. Subscription is created but the payment doesn’t go through. What should I do to implement 3D secure verification?


My advice is to go with the new Discourse Subscriptions plugin

1 Like

Yes, I too like discourse-subscriptions plugin, but discourse-subscriptions too got stuck at 3D secure authentication step. Is there any setting or configuration missing which I should enable to get it working if it already supports it? I’m not sure if any of these plugins support 3DS flow? I’m trying memberful but I’m not liking that all my users will have to sign up / sign in through it and all my oauth login flow through facebook and google won’t work any more.


Need help with this plugin - PayPal is not working. I filled in all necessary info but it is not working.
Open a link to membership purchase:

Login as a test user and get this screen:

If I set a recurring payment I see a button Subscribe, but after clicking it I get an error:

Does anybody have such a problem? Can you advise smth? What to check/to do?

I can use only PayPal integration. Here is what I did.

  1. Installed the plugin by the instruction.
  2. Chose “memberships gateway” as Paypal.
  3. Memberships currency is USD (but my currency in paypal accont is another, not listed in the options)
  4. memberships paypal api id - filled
  5. memberships paypal api secret - filled

I tried to use SANDBOX API CREDENTIALS and didn’t make the plugin going LIVE.
Then tried another LIVE API - not working also.

Does anybody have this plugin working correctly with PayPal?

Last time I checked, the plugin was broken with Stripe also.

I think it isn’t maintained anymore. Is there anyway you could use Stripe ?

I recommend using Subscriptions now

Well, Stripe isn’t working in my country.
PayPal is the only choice.
I know that I can install Wordpress+some WP plugin that will control memberships, but I really don’t want to do this extra staff.

1 Like