Stripe Multiple Subscriptions

I’m setting up a very simple store, where most of the items are subscription plans and users can subscribe to multiple plans.

Is there any way to unify the subscription process so that users only need to see the CC form once? I understand that Stripe keeps plans/billing separate for each subscription, which is fine, but for the UX - can my Subscribe User trigger subscribe to all that apply and charge the user for each plan separately while only have the user enter CC info once (or pull from saved)?

Even if it involves a middle man step to make it happen, I’d prefer for users to not have to see the CC form and confirm multiple times at this stage since they’ve already been through a cart adding and review process.

Thanks!

Hi @romanmg
I’had the same issue here some months ago. At this time, Bubble seemed to only allow “Create a new subscription”, without the action Stripe API Reference. That’s why custom must filled in their credit card info each time they change their subscription plan. Because of this, if the user was on trialing and wanted to subscribe to another plan before the end of his trial, he lost his remaining days.

I just did a test on my bubble account, trying to change my plan. And I get something I could not get before on my app :

@emmanuel Does it mean you automatically check if the user has already subscribed to a plan ? and if yes, you do an #update_subscription ?

Yes, exactly

Ok. Then I ll try again on my app

Yes, I did notice the update subscription thing happening automatically. But my question was more for the use case of a customer wanting to subscribe to multiple plans in one sitting.

The workflow right now is that the customer needs to enter (or approve saved) CC information for each plan they want to subscribe, which then triggers independent charges by Stripe for each plan. I don’t want to mess with the independent charges; I’m concerned about the UX - I don’t want customers to have to hit the Pay Now/Subscribe Now button more than once. It’s as if you’re checking out for 3 t-shirts from 1 cart, and you have to enter your CC 3 times and click Pay Now 3 times. It’s weird.

I just want the customer to say “these are the multiple plans I want to subscribe, here is my CC, charge me” and they hit the subscribe button once even though Stripe is subscribing them to multiple plans and charging their card independently for each plan.

Thank you @romanmg I understand better now. Stripe can deal with it (see here) but I don’t think this is possible right now with Bubble. In your case, you’d need to 1/ save customer CC info 2/ be able to force the creation of a new subscription for a user (I mean no update). And I don’t know how the save CC can work with multi-subscription…

Yes, it seems tricky. I think my workaround for this is to just adjust the subscription options… create more plans to account for the different combinations and that way only need 1 plan per customer. Thank you for your help and suggestions!

how many combinations will you need ?

Oh, it’s not a nightmare. It’ll produce 7 plans instead of the originally planned 5. The compromise was more in re-working the business model to make it flow.

how would this work if when there is a single plan in Stripe but the user has signed up multiple times (quantity >1 whe subscribed in the first place)…

is there a way to specify the quantity when ‘canceling a user’s plan’?

quantity & subscription are different, why not just update the plan’s quantity?

I can’t see an option to simply “update” a user’s subscription plan and specify a quantity?, that would be great!

I can’t see this being achieved without tracking the number of subscription in my app, then subtracting the quantity being cancelled and then Subscribing the user again to a plan with the new quantity, which means that user will get two pop-up messages, one for the cancellation and the other for new subscriptions one after each other.

if the user has not subscribed yet to a plan, the “Subscribe the user to a plan” will add a plan to the user…
if the user has already subscribed to one plan, the “Subscribe the user to a plan” will be an update for changing the plan

I agree this is a bit confusing. especially as you have to create different workflows for selecting again the current user’s plan when update its quantity

so, say a user has subscribed to the same plan 4 times…then wishes to cancel 1, would the ‘Cancel the current user’s plan’ remove 1 subscription and therefore leave 3.

what if it wished to unsubscribed 2 times, there is no way to specifying the number of un-subscriptions to trigger.

If the user need 3 after subscribing for 4, you do an update with 3. No need to “unsubscribe” for 1. Clearer ?

I tried doing this with the “subscribe the user to a plan” action (to the same plan in Stripe) in Bubble and specifying the “new” quantity as a parameter, but it prompted to re-enter credit card details again and created a brand new subscription in Stripe.

so @emmanuel I don’t think this is working as designed in Bubble, in particular this part…unless I am trying to execute incorrectly.

“Does it mean you automatically check if the user has already subscribed to a plan ? and if yes, you do an #update_subscription ?”

Yes, that’s what we do.

hi @NicolasDap

still haven’t got this to work as I want it.

The ‘subscribe user to plan’ after the user has already subscribed for the purposes of updating the subscription, say from 4 to 3 is not working at expected.

This subscribes the user again with the revised plan quantity.

are you able to share a screenshot that shows how this should be set up in Bubble?

thanks

Hey !
I don’t use multiple subscriptions so no screenshot to show now.
My previous response was about update / cancel of ONE PLAN.

About doing this for MANY PLANS, I think you face a limitation due to the current implementation of Stripe in Bubble. If you look at the field User’s Stripe Subscritpion plan, there is one plan, right ? it is not a list of plans. So don’t think it’s possible right now.
If you are able to call this, it may help you to understand what’s going on. Unfortunaltely this call is not available on Blockspring :frowning:

As it has been quite many forum posts wrote about this issue, maybe it would be more efficient if you reproduce your case on a forum app page so we can play with it ? still easier to understand quickly

@Rogelio can’t you change the way you manage your user’s subscription ? creating as many plans as needed ? just asking to find a quick way