Skip to main content

How to enable subscription changes in Stripe Customer Portal when settings aren't working in test environment?

If I want to tweak the stripe customer portal to allow users to switch, upgrapde etc. Do I just tweak the settings within stripe itself or do I need you guys to make changes to that?

11 comments

  • Julian Galluzzo
    Julian Galluzzo

    I think it depends on exactly what youre trying to change - ive seen some things work and others not

    0
  • Yannick Caron
    Yannick Caron OP

    Switching from the yearly to a monthly price for example

    Also, currently there's not really an ability to skip the free trial if you'd like. In my case I've disabled some functionality when you're in free trial. If users get impatient and want to use full func right away or after a couple days, I would like them to be able to skip the free trial by switching to a price without free trial days for example.

    0
  • Julian Galluzzo
    Julian Galluzzo

    https://www.memberstack.com/scripts/free-trial-without-credit-card
    If you set this up and then use form logic to remove the free plan when the paid one is bought, that will do what you're after

    0
  • Alex
    Alex

    Hello everyone,

    in our test environment, we currently have the problem, that user cannot change their subscription inside the stripe customer portal. We checked the stripe documentation reagrding these limitations ( https://docs.stripe.com/customer-management#customer-portal-limitations ) but cannot find any matching case. Does someone had the same experience / issue yet?

    For testing purposes, I removed all payment methods but credit card. Memberstack and Stripe is in test mode. The current subscription can only be cancelled, not switched to another plan.

    0
  • Raquel  Lopez
    Raquel Lopez

    Hello Alex,

    Are you using the frontend api or you have a Webflow site? What exactly are you looking to update? Upgrading/Downgrading the plan? Or cancelling the plan?

    0
  • Alex
    Alex

    Hey Requel, I am using MS in a Nuxt (vue,js) app. I included the script manually via nuxt plugin and then used window.$memberstackDom.

    I added the subscription using

    const { data: checkout } = await memberstack.purchasePlansWithCheckout({
    priceId: "prc_...b",
    cancelUrl: "/canceled",
    successUrl: "/v1",
    autoRedirect: false,
    })
    window.location.href = checkout.url

    Everything works fine except switching plans. I know there is an addPlan() function but it seems that only free plans can be added here. So I was hoping that users can switch plan inside stripe.

    It should be possible for users to upgrade from a free plan to 2 paid plans or from one paid plan to the other. Cancellation already works.

    0
  • Raquel  Lopez
    Raquel Lopez

    purchasePlansWithCheckout is for when users don't have any paid plans yet. And launchStripeCustomerPortal is the method to be used when you want the user to update payment, upgrade/downgrade plans, cancel payments and also see their payment history.

    So, if your user doesn't have any paid plan, make sure to execute to add a plan purchasePlansWithCheckout , and after the user has any paid plan, you can execute launchStripeCustomerPortal with the price ids array to switch among plans

    Or in case you're using server actions, these methods should be equivalent

    • createCheckoutUrl({priceId, couponId, cancelUrl, successUrl})
    • createCustomerPortal({priceIds, configuration, returnUrl})
    0
  • Alex
    Alex

    It's implemented the way you described it. But I guess the important difference here is that I don't pass anything to launchStripeCustomerPortal yet. I will try to pass an array of priceIds.

    Also found more info on the configuration object here:
    https://docs.stripe.com/api/customer_portal/configurations/object

    Thanks for the hint - I will try that.

    0
  • Raquel  Lopez
    Raquel Lopez

    Yeah, with only the priceIds should be enough to switch plans, that's the only required argument.

    And about the configuration attribute, not all properties shown in the stripe docs would work in MS. Only the features object would work. And I think even some of them are ignored hehe

    0
  • Alex
    Alex

    That worked, thanks a lot!

    Raquel Lopez One last question on that: Is there a limitation from your side to downgrade from a higher price plan to a lower price plan? Currently, changing plans works, but only from lower prices to higher prices.

    0
  • Duncan from Memberstack
    Duncan from Memberstack

    There shouldn't be any limitations 🤔

    0

Please sign in to leave a comment.

Sitemap