# Improve the process for users switching plans

**URL:** https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791
**Category:** Feature
**Tags:** subscriptions
**Created:** [June 3, 2024, 1:11pm UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791 "2024-06-03T13:11:52Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![anon48433008](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@anon48433008](https://meta.discourse.org/u/anon48433008)
#### Post date: [June 3, 2024, 1:11pm UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791/1 "2024-06-03T13:11:52Z")

</div>

Blake

I’ve had members upgrading, Stripe has a method via their customer portal

![image](https://global.discourse-cdn.com/meta/original/4X/d/1/8/d184609a0cdfbfe714d5bc06604f295f21d21c57.png)

to allow customers to switch plans

 ![image](https://global.discourse-cdn.com/meta/original/4X/6/3/6/63681a4bd2f6ca26922523fd93c74671ddfc1e8a.png)

but it requires creating new products and plans separate from the pre-populated ones in this plugin

Can you please maybe explain how this could be done easily?

I understand there’s a web hook and _guess_ this could be done and then add that same web hook?

But there’s also a pre-populated support page (with products) that either needs to be changed or not used at all and simply have a link added to the new page provided by stripe?

Thank you for your work on this its a great plug-in feature.

.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [June 5, 2024, 3:48pm UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791/2 "2024-06-05T15:48:14Z")

</div>

> [@anon48433008](#):
>
> Can you please maybe explain how this could be done easily?

I don’t think that it can be done easily with the current subscriptions plugin.

> [@anon48433008](#):
>
> I understand there’s a web hook and _guess_ this could be done and then add that same web hook?

That’s my guess. Maybe you’d create those other plans with the Discourse interface, so it would know about them, and then the webhook could re-connect the user with the new plan.

I’m not sure how hard it would be. A wild guess is 2-5 hours work, the lower end if you just want it to work, and the higher end if you include tests to make it good enough to be submitted as a PM.

---

<div class="post-metadata">

### Author: ![anon48433008](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@anon48433008](https://meta.discourse.org/u/anon48433008)
#### Post date: [June 5, 2024, 8:16pm UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791/3 "2024-06-05T20:16:26Z")

</div>

> [@pfaffman](#):
>
> make it good enough to be submitted as a PM

What does PM mean in this instance?

And thank you for the reply I have it bookmarked for thought, as well, to whomever it may concern I had a contributor end up with a name in their profile/invoice, they asked me about it, (it wasn’t them) I in turn asked Stripe and this was the response from Stripe

> I checked the customer profile in question and found that it was created by Discourse via API. During the creation process, the name “Tina Walker” was passed in the API request. Therefore, I’m afraid that it is expected for the customer profile to display the name “Tina Walker.” You may want to review the API request provided below:
> 
> [Stripe Login | Sign in to the Stripe Dashboard](https://dashboard.stripe.com/logs/)
> 
> Source: Stripe/v1 RubyBindings/11.1.0 Discourse Subscriptions/2.8.2 ([GitHub - discourse/discourse-subscriptions: A Discourse plugin that allows payments and subscription management via Stripe. · GitHub](https://github.com/discourse/discourse-subscriptions))
> 
> “name”: “Tina Walker”
> 
> Date and time: 5/19/24, 11:43:46 AM

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [June 5, 2024, 8:57pm UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791/4 "2024-06-05T20:57:23Z")

</div>

> [@anon48433008](#):
>
> What does PM mean in this instance?

Uh, it means P **R** , or Pull Request. Sorrry about that.

> [@anon48433008](#):
>
> “name”: “Tina Walker”

So at some point “Tina Walker” was hard-coded into the Name field in the code? (It seems not to be the case now).

---

<div class="post-metadata">

### Author: ![anon48433008](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@anon48433008](https://meta.discourse.org/u/anon48433008)
#### Post date: [June 6, 2024, 9:59am UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791/5 "2024-06-06T09:59:45Z")

</div>

> [@pfaffman](#):
>
> Pull Request

Thank you, and forgive me but that’s how an update is entered into a plug-in enhancing or improving it?

> [@pfaffman](#):
>
> seems not to be the case now

Ok, just relaying my experience with the feature, and I will also add being super impressed with customer service from Stripe 🥳

---

<div class="post-metadata">

### Author: ![blake](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blake/32/157322_2.png) [@blake](https://meta.discourse.org/u/blake)
#### Post date: [July 10, 2024, 8:10pm UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791/6 "2024-07-10T20:10:49Z")

</div>

> [@anon48433008](#):
>
> I’ve had members upgrading,

Oh cool! Sounds like you have something successful going on 🙂

> [@anon48433008](#):
>
> Can you please maybe explain how this could be done easily?

How are you currently upgrading members? Just manually in stripe or some other way?

Maybe until this feature is developed, could users cancel their current plan via Discourse and then re-subscribe using the new plan they want to upgrade to? I know that isn’t the smoothest process but seems like it would work? I think they should be pro-rated appropriately when cancelling their current plan. Having them do it via Discourse would remove/add them to the appropriate groups that match their subscription level.

---

<div class="post-metadata">

### Author: ![anon48433008](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@anon48433008](https://meta.discourse.org/u/anon48433008)
#### Post date: [July 11, 2024, 12:02am UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791/7 "2024-07-11T00:02:08Z")

</div>

> [@blake](#):
>
> seems like it would work?

Seems like it but not so much,

> [@blake](#):
>
> How are you currently upgrading members?

When they cancel it does not terminate the subscription, it has to run out, so cancelling a low price and buying a new higher price doesn’t work instantly, enabling the ability to purchase multiple times may help that issue

I had two members try, in both cases I had to manually invoice them, one of those already ended with the member losing their level 2 access at the end of the first subscription though the manual one was still active

That’s another issue, as this defaults users to level 2 I had to make the auto bump unattainable and only have two user settings, non paying level 1 and paying level 2

Overall I like it very much, but I’d like it fined tuned

---

<div class="post-metadata">

### Author: ![blake](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blake/32/157322_2.png) [@blake](https://meta.discourse.org/u/blake)
#### Post date: [July 11, 2024, 12:51pm UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791/8 "2024-07-11T12:51:42Z")

</div>

> [@anon48433008](#):
>
> When they cancel it does not terminate the subscription, it has to run out, so cancelling a low price and buying a new higher price doesn’t work instantly,

Ah gotcha, so ya we will need some sort of upgrade functionality in place to make this all smoother.

---

<div class="post-metadata">

### Author: ![anon48433008](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@anon48433008](https://meta.discourse.org/u/anon48433008)
#### Post date: [July 11, 2024, 1:07pm UTC](https://meta.discourse.org/t/improve-the-process-for-users-switching-plans/315791/9 "2024-07-11T13:07:47Z")

</div>

> [@blake](#):
>
> upgrade functionality

Yes, and Stripe is a great company from what I’ve seen so far for Discourse to try and pair up with for functionality, if I find the ability to contribute financially I’ll look here first as this can be a core asset to any community.

Until then I hope you’ll be able to kick in a double dose of

> [@blake](#):
>
> upgrade functionality

[![](https://global.discourse-cdn.com/meta/original/4X/6/b/3/6b3050279e3e9b3106e3a1d4e6e7b3441ac8d5d6.jpeg "Upgrayedd introduction from Idiocracy") ](https://www.youtube.com/watch?v=yLtQQbU_-jE)
