Stripe plugin doesn't let me pick subscription price for live mode

So I am using bubble’s original stripe plugin to have my page users pay for subscriptions. On, I am having a bunch of prices for test mode and also for live mode. The problem in bubble is that, when I am in development mode and want to use the workflow “subscribe user to plan”, then I can only see/pick the test prices from stripe, not the live mode prices. Then, when I switch the bubble editor to view live mode (which is read only), it shows me only stripe’s live mode prices instead of test mode prices, but because it is live mode in bubble I cannot choose it (if I try an error message tells me that this is live mode, read only, and so no changes can be made…).

Seems to me like a porgramming blooper on the side of whoever programmed the plugin, or am I misunderstanding anything?

Anyway, does anyone know how to fix this?

I found a workaround, which consists of pasting stripe’s live API keys to where stripe’s development API keys should go in the plugin settings. However, I can already see this becoming a hassle in the future…

Hey @robert8 :wave:

Your Stripe test prices and live prices should be the same for it to work properly.

Setup your prices in the Stripe test version first. Then when you are ready to push to live, there is a button in Stipe that lets you copy the prices over to Live. You don’t need to create new ones in the Stripe Live version.

Does that make sense? :blush: Hope that helps a bit.

Hey @robert8

Easiest way to work with this if your price ids don’t match is to enter ‘isn’t live version:formatted as text’ in the expression editor for the price ID. For yes, you’ll enter your test price id. And for no, you’ll enter your live price id.

That way, both will work regardless of the version being used at the time.


I am having the same or similar issue. I used @Andrew.Vernon workflow route and it worked for the Development Mode but not the Live mode. I also found in Stripe’s payment settings, “List the domains you want to use with Checkout in live mode. Domains must be exact matches, so please specify subdomains in addition to root domains if relevant (e.g., and In test mode, you can redirect a customer to and from Checkout with any domain.” I saved my URL for checout but still not working. It’s like the Live Stripe ID’s are not active in live mode.

Hi Andrew, Can you show how the workflow would look? Also, should the live keys and dev keys be in the same plan database for both development and live databases?

@carter1 That sounds like you might have been storing the plans in your database? Keep in mind that the development and live databases are separate. So, it’s possible it worked because they existed in your development database, and then didn’t work because they didn’t exist in your live database.

@placolla13 Yep, you can store those in the database, or hard key them into the expression. Since the databases are separate, I like hard keying them in using a :formatted as text expression. This way you can use the :isn’t live version:formatted as text and enter the development plan and live plans separately in the corresponding places. Does that help?

@AndrewV , I think I understand the theory behind it but I cannot figure out where to key the expression. So in the “plan” database i have 3 plans and 6 stipe ids (3 are live and 3 are test keys). Where would I hard key the expression? Do I key it into design page or the workflow page? Also, what would I key in the “subscribe this user to a plan” “stripe plan name” section?

Edit: @AndrewV , I think I fixed it. I was originally pulling from the paid plans DB. Instead, I just had it as a simple format text and isnt live funcitonalty. I think its working but wont really know until i charge a live account.

1 Like