🤔 Recurring payments with Stripe subscription

Hello there,

I´m looking for some advice here since I need to set up a subscription based in our app. Here are some things to consider:

  1. We need to subscribe the user to a plan in our app but sometimes the can ask for a particular service that adds a fee into the current month plan. For example: if our plan is 15$ and the user must be charged 15$ every month, there will be months that the user asked for a particular service and we need to charge 15$ + 30$ of the particular service.
  2. We need to create a recurring invoice for the plan every month.
  3. How do you control when a charge has not completed and automate the try to charge again.
  4. How do you control when a credit card is due to expire so you can send an email to the user to let him know he has to update the card.

So my question is, what platform or plugin to use to do this:

  • For the monthly invoice creation I was thinking on creating a recurring event but I don´t know if letting Stripe generate the invoice would be smarter.
  • Use a plugin such as stripe.js, stripe by Bubble, etc. or doing it via API connector or using the Stripe billing portal feature.

What do you recommend?

Thanks a lot in advance team.

I’ve seen some posts but I don’t know what would be the best solution.


This is a paid service on top of Stripe. This is just an FYI.

I knew about that and tried but it got too much expensive.

Thanks anyway.

1 Like

Use stripe.js it works great! Bubbles stripe connector only worked for me if using the version 2, version 3 works with stripe js. As far as billflow.io … They charge an additional 1% on top of stripes fee… which is roughly 33% of the cost to run stripe alone. If you ask me, its a bit bold of an assumption for them to think anyone serious about their reoccurring revenue business would decide to stick with billflow for that long with the current model given what you’re actually getting for the money.



Thanks for the advice. It’s super helpful.

I thinking that maybe integration the stripe billing portal to keep everything with them related to the subscription in case there is a huge update in the future in terms of payments.

What do you think about creating recurring invoices? Let stripe do it or do it inside Bubble?

We just released our own Stripe plugin that supports metered usage plans with a flat fee :wink: You can bill a monthly flat fee with metered usage on top. Each usage would resemble a certain amount, in your case $30.

Happy to help you out with setting this up, it’s pretty easy!

Hi @nocodeventure,

Looks promising. Do you mind elaborating in a demo how the subscription works and how much is to use the plugin? I don´t understand the 30$ since in the plugin page it says 49$ once.

Your initial post was talking about a subscription fee of $15 and $30 on top of it. Sure let me create a demo for you. Give me approx 60 minutes to share a demo with you.

1 Like

See the post below for more details. I’m initially subscribing the customer to a flat fee monthly $30 subscription with usaged based billing attached.

Editor link: Stripe-connect-standard | Bubble Editor

Thanks for that.

But you´re using the stripe checkout instead the Stripe billing portal for the subscription right? Is it posible to use the Stripe billing portal?

You can’t use the stripe billing portal for new subscriptions. Not at this time.

1 Like

I use payments through stripe (set up in bubble only for customers to update a card / add a card and delete a card through my bubble website), however i still use stripes dashboard only to check on anything that deals with specific financial data. It does take a bit of messing around to get everything connected i spent two days trying to figure it out lol. I wrote a detailed post on what to do in order to connect Stripe.JS if you need.

As far as invoices you can have it set up to where the customer can access them from your website. You can either display the data directly on your site in a list, or have a link that re-directs the user to stripes portal to check an invoice its called “customer portal” on stripes api page link here: Customer portal

The portal gives a 45 second or so timer if the user doesn’t access it, it logs them out.

If you use stripe.js you have to make sure you create different data sets inside your app to store data that stripe is going to automatically generate when you use it in your workflows, the only way to capture it is for you to create data points for (Customer ID) , (Credit Card ID) and (Credit Card Token)… and it must be captured and stored WITHIN the workflow itself as a security measure. This was very confusing to me at first… and the customer has to be created as a “user” first within your bubble app before it can create a “stripe customer” with the stripe.js plugin as a security feature also.

Whenever you have a workflow i.e (lets say you have an input for a new customer to add a new card on file) you’ll set up your WORKFLOW as such:

when “submit” button is pressed…

  1. create a new user
  2. create a stripe customer (stripe.js stored to user data type)
  3. create a stripe token (stored to user data type)
  4. update user’s (Customer ID datapoint you created under users) “result from step 2&3”(this is how you store sensitive data in workflow)
  5. create a stripe card (stored to the user data type)
  6. create a stripe card id (data point you created under users)

with stripe.js there is a difference between creating a “Card” and a “Card ID”… the card is creating a shell of data to store so your bubble app can recognize it, the “card id” data type, is what attaches that card to stripe to confirm payments because the card was identified to belong to a customer hence “i.d”… they were identified because you created the customer as a “user” in your bubble database. in bubble, the user datatype is protected with privacy so this is why you must create the payments using flows under the user.


Hello @addison1,

Thank you for the explanation.

Yes, please send me the detailed post if possible. I would be so much interest.

The thing is that I want to figure what would be the best for payments and invoicing every month. Via creating the invoice in Bubble or let Stripe create the recurring invoice.

Thanks a lot and have a good day :slight_smile: .

@ryanck Did you find a solution to this?

Hi @addison1 ,

Great insights of setting up stripe.js. I have spent quite few good days tried to sort out the workflow order of subscribing user to a plan using stripe.js on a connected account. I do appreciate if you could send me a copy of the detailed post as well. Thanks and have a great day. :pray: