What are the primary differences between the Stripe plugin by Bubble and Stripe.js by cobubble?

Hi all,

I’m in the midst of developing my app and require, as many of us do, the ability to collect CC and Bank information from users.

Basically, I want to collect the information so that a new customer is created Stripe at the same time a new user is created in my bubble backend (minus the financial data), but have the two platforms speak to each other so that via Stripe we can then charge transaction fees and/or a monthly subscription fees to users.

To achieve this I scouted the plugins section and I see there is the Stripe plugin by Bubble, and Stripe.js by CoBubble. What are the primary differences here?

Is it that Stripe.js allows for tokenization? Does it allow you to collect data directly from a form build in bubble rather than utilizing a Stripe developed on-boarding process? Perhaps @copilot can weigh in here?

I have been reading through both, but I’m not sure if I’m missing anything. Any thoughts from those familiar with both would be appreciated.

I initially installed the Stripe plugin by bubble, but for some reason I’m unsure of how to connect my application to it, and the more I thought about this the larger my question grew, so I figured I’d ask the trusty forum!

Thanks in advance!

1 Like

Hey @marktuff,

There’s many reasons why we developed and released our own implementation of Stripe. Here’s a few:

  • Custom User Experience - We have a big focus on usability and design with everything we do, mainly because Salar (who started things off for us almost two years ago) has a background in UI/UX design and handles design for all of our individual and enterprise projects customers. Being able to build customized forms and payment experiences was important in order for us to ship cohesive and consistent products, and we couldn’t with the standard Bubble implementation of Stripe.

  • Native Features - As the Stripe service evolves, new updates and services are made available making more do-able for all applications that depend on Stripe. We wanted the ability to upgrade and take advantage of Stripe’s new features sooner without having to wait for the increasingly-busy Bubble team, and have a say in how they’re presented in the Bubble platform itself. We’re reminded with every installation and update that what we do with the Stripe.js plugin affects others, and the sponsors of the plugin certainly realize that as well.

  • Additional Help - It’s no secret that Bubble’s documentation, tutorials and support resources are limited. In Sessions, our 1-on-1 hourly help service, it was becoming clearer and clearer that Bubblers were aware of Stripe - just not sure about how it works and how to go about implementing it. Stripe is still credited with having one of the most robust API documentations around which anyone can refer to, and we’re happy to extend that documentation with offerings of our own such the Platform Payments course.

We always recommend Bubblers who reach out to first try Bubble’s Stripe implementation, and compare it to Stripe.js and what it can do. Once you experience the advantage of taking control of Stripe yourself verses letting Bubble doing it for you, you’ll see why Stripe.js is still the most powerful (and popular) custom payments plugin to this day. Feel free to reach out to [email protected] or book a Session with us anytime. :slight_smile:


Thanks @copilot, I appreciate the response.

I like the ability to white label Stripe functions under my own UI, that’s certainly a big advantage.

I’ve been messing around with Stripe.js, and it does seem a more intuitive to me.
Question to you, right now do you support being able to record a Customer (not a Sellers) Bank Account as a possible option to charge?

I’m thinking to ask for two forms of payment: a CC and Bank Account, and for the user to be able to select which payment method they prefer, and the 2nd payment would then become the default backup method incase the first payment source defaults.

Do you support collection of Bank accounts for customers, and charging? Or is this strictly relegated to Sellers to be able to payout (I don’t require paying out to users).

Thanks in advance!

We already have a sponsor for ACH Transfers as well as Plaid support, so expect an update soon! :slight_smile:

1 Like

Hi Cobubble,

Is there any further documentation on how to create stripe workflows and calls aside from this page? https://cobubble.com/stripejs I really am not sure how to set this up and can’t find anything anywhere even in the forum that gives a how-to. It looks like your learning sessions are $60 each. Are there any free or lower priced tools?


It really is magical that every time I am about to pull my hair out and post a cry for help on the forum, I suddenly figure things out right after clicking send on my post.

I see there’s a $10 guide to everything for the plugin on your site here. Have no idea how I missed this. Hooray! https://cobubble.com/dashboard?product=education

1 Like

Hi @copilot, hope all is well.
While this thread is bumped, I was just wondering if you have any updates on ACH Transfers?

@jamie, that always happens to me too! ha.

Hey @marktuff,

We have some bigger tasks in the works for Version 2.0 of Stripe.js, so ACH support has taken a backseat until atleast Version 2.0.1 or so. :slight_smile:

No problem, just checking!

Any updates on ACH? Would love to accept payment that way! Would be willing to sponsor.

1 Like

Hey @john9,

Give us a shout at [email protected]. :slight_smile:

1 Like

Do you have an update on this or looking for joint sponsor?

Any news for Bank ACH transfers? When you said ‘customized’, can we record the customer cc?

Hi @JohnMark,

The context around ‘customized’ was you could build your own payment form and flow, verses using Stripe’s Checkout.js model which currently powers Bubble’s own Stripe plugin. :+1:

1 Like

Hi. The Bubble Stripe plugin is not supported anymore and shouldn’t be used for one time payments (subscriptions work, charges do not) due to it not working at all on mobile. Bubble have not yet put a ‘no longer supported’ tag on the plugin and Support don’t believe that the mobile bug is serious enough to warrant any action.

I have to say, if my dev team came to me and said ‘instead of taking the user to a new tab with the full Stripe fields like the Stripe documentation says it should, we put a single button out of viewport, which is not configurable by design or functionality and there is no ability to change CTA wording, plus the User doesn’t know there is a button there at all, they only see a grey screen, but I think this is okay to release to the public’, the developer would be laughed out of the Stand Up.

I find it frustrating that a simple ‘not supported’ tag is not added to the plugin, when it can’t be used at all. Users are going to spend hours setting up their flow and surrounding functionality only to find it doesn’t work on mobile.


Hey @cowontherun,

We certainly understand the frustration as we’ve been hearing it for quite some time now. Have you checked out Stripe.js as an alternative? We have a course specifically for that plugin, plus we’re working on new features for Stripe.js 2.0 (so you should stay at or below Version 1.8.10). :slight_smile:

Thanks, I can see from your preview videos that it’s fully configurable using the Stripe API.

Just checking you’ve tested your flow on mobile on an actual device (not an emulator) before I purchase your Stripe course. (Ditto for your PayPal plugin but I assume Paypal ‘just works’ pretty much out of the box as it normally does. No course needed for the Paypal one?).


PS. I think you have a bug with your sign up process - I’m sure I clicked the Sign Up button but instead it sent me a temporary pw (I clicked sign up 3 times and got an email each time) - could the forgot password link area be too big and instead it is being clicked when the sign up button is clicked?

Where did you get this information from and when did it stop working.
It has always worked for me.

1 Like

See my post below:

Support have confirmed they won’t fix. If you have a working implementation on a mobile device I’d love to know your set up. The link below is the plain old click a button and charge user…

Yeah, well it actually works.
Just the UI is not something you can influence a lot.

Functionally it does the job ( testing on my iPhone).