ProCourse Memberships 💸

@Steven Thanks so much for this response, it’s very helpful.

Looks like custom fields solves most of my issue, I use the teaser plug-in, and come up with a working solution for membership types based on what the plug-in allows.

I looked at the table (Google translate for the win!) and it looks like we can have multiple membership levels of different costs through ProCourse, correct? If so, I can just create an add-on membership, that provides the exact same access but at a lower cost. We’re a small enough group that we can work with that as a solution and have someone manually make sure there is a “master” membership for these users.

Exactly, each cost will have its own membership page, that’s where the static page is the most helpful and the table was the best solution in my case.

Error: VM193:1 POST https://sandbox.example.com/memberships/checkout/submit-payment 500

Everything is configed to be live. Any ideas?

This is the actual debug log from Discourse.

https://pastebin.com/n3pabZVS

I have the plug-in running successfully on my site for monthly subscriptions.

However, is there an option to charge users to post a single Topic/post, rather than giving them monthly access?

Working on getting this set up, and I have a question. If I have a membership set for 12 months to a group “Bronze”, at the end of that 12 months, will the membership to that group be removed? Is there a warning to the user that it happened/about to happen?

Hi there,

I read through this a couple of times and tried the Demo site again, and I think I figured out my confusion with the signup / membership flow.

Here’s what I think I need to do:

Note: my site is 100% paid, there’s no free tier

  1. I have a static sales page (outside Discourse) with an application form. If the application is approved (manual process), I’ll send an invitation to join from within Discourse.

  2. new member signs up and gets a new account in Discourse.

  3. new member logs in to Discourse and sees…an empty forum, but for one topic about ‘creating a membership’ [perhaps this is where the pro-course-static-page comes in, and I can have a static page with payment options instead?]

  4. That topic [or static page] has two options: a monthly recurring payment and an annual recurring payment. Each link or button goes to the membership page I created within the Procourse plugin.

  5. New Member completes the payment and is added to the Member group, which has access to the full forum.

I think I’m on track here. But #3 and #4 are questionable to me. Am I missing an easier / more obvious path?

PS - I thought the payment page would come first, before the new member created an account. The need to create an account first was a big mental block for me, but I understand why. I think. :slight_smile:

I think you’re going to have usability issues for your user base by making them sign up, get approved, then go into an empty forum, then make them pay for content.

You may be better of by doing something similar where Discourse is locked, but use WP Discourse for SSO and Paid Memberships Pro to restrict access to the community. It’ll all happen more seamlessly for your users.

You could look at this for reference:

1 Like

Thanks @justindirose, I’ll check it out. The forum isn’t empty (I’ve had a small group in there for several months) but i see your point. I appreciate your perspective.

Can I ask why you go this route? Would there ever be a case when the application process is rejected?

I ask because you can solve the bulk of your issues if this piece can be skipped.

1 Like

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 @justindirose Thanks so much for this. I’m seeing a clearer path now.

1 Like

@joebuhlig @justindirose. 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 - js.stripe.com/v3. 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:

4 Likes

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?

1 Like