Discourse Subscriptions

It probably won’t, and if anyone knew how they could break, then they wouldn’t break. But maybe it’ll turn out that some assumption made about how to create subscriptions and how they persist turns out not to be true.

Things aren’t always as they seem, and the obvious solution is sometimes wrong. It’s a reasonable bet that the stuff you set up now will work forever, but it might not. And right now, it’s too soon to make any promises. If it won’t be that big a deal for stuff to be broken for a day or two if you have to fix something up, go for it. If you’re going to lose $10,000/hour if you’re suddenly not able to sign up new people to your thing, well, you should be very careful when you do upgrades.

Me, I’m planning to start using the plugin to charge people for some recurring services. If something happens such that people get services for free, or I have to fix something up by hand, well, that won’t be that different from my current experiences with WooCommerce and Gravity Forms.

4 Likes

Thanks a lot Jay for the precisions !

1 Like

It’s fair to say that nothing might not break, but we’re needing to refactor how the plugin interacts with Stripe, which could cause breakage with how previous subscriptions interact between Discourse and Stripe.

So while the actual subscription once logged in Stripe won’t break, something could break in Discourse for those subscriptions. I’ll try to avoid those cases as much as possible but I cannot guarantee there will not be issues.

3 Likes

Nice plugin! I’m hoping to modify what is displayed in the plugin to match just these amounts displayed on our simple python donation page as either recurring or one-time.

Screen Shot 2020-04-06 at 8.26.06 PM

1 Like

You can override the templates of the plugin, it can be challenging but you can customize basically anything you want

My guess is you should override this file to rewrite how the subscriptions plans are presented

Changing the ds-button by some kind of dropdown list, but it might be tricky

2 Likes

Is there a way to use Stripe “coupons” ?

Not in the current build of the plugin. Might be a good v2 feature if there’s enough need for it!

3 Likes

+1 for this

And additionally, One time memberships fee payment

4 Likes

I’ve just merged this PR:

It introduces a few back-end changes to the plugin on how it processes data from Stripe – namely adding a couple of database tables and models to store information on products and subscriptions created by the plugin in Stripe.

One problem encountered with the plugin if you previously used Stripe for subscriptions on any other site is it would pull in all information from Stripe. Storing the external ids of the Stripe products and subscriptions in the database allows us to pull only the data created inside Discourse.

To enable backwards compatibility, we’ve added a new rake task rake subscriptions:import. This will grab all products in Stripe and let you choose to import each one. For each product to import, the rake task will pull any subscriptions in that have a user_id and username stored in metadata which match a user on the Discourse site.

Please be aware this plugin is still in BETA status, so please use at your own risk! There are a few other niggly issues we need to iron out, but I believe most of the major work on the Stripe API integration is done.

9 Likes

I suppose you have a lot to do on the back-end first, but I was wondering if there was a plan in the future to add the possibility to use markdown and/or html in the product description?

I was able to play with the templates a lot, and it had a lot of possibilities, but when we have more than one product I can feel limited.

But I understand that it’s not the priority right now given the status of the plugin

The major consideration is all that information gets sent to the Stripe API and is stored there, so it’s not always practical to have markdown or plain text in that API. Plus I think there’s a character limit.

If there’s a need for a sales page with more copy/info, maybe that’s a possible use case for the Page Publishing we’ve just added to core?

1 Like