[Plugin Announcement] Stripe Plugin v3

A couple of things here. If you’re asking about Collecting the user’s CC information in a backend workflow, I don’t believe that’s possible as it requires a user to type this information in.

To the other question, regarding if charging a saved card when the user is off-session and it requires user input, you can see the details here on how that is handled (TL;DR you can set it up so that emails can be sent when SCA is required): SCA migration guide for Billing (stripe.com). If the user is on-session (entering their card) and it requires 3D secure, Stripe automatically handles it and has the user provide the auth in the checkout screen.

There are test cards that have 3d secure flow, such as 4000 0027 6000 3184 or 4000 0000 0000 3220 (described on the Stripe testing page), using this in test mode with our Stripe plugin is a good way to demonstrate how it works.


Does that mean you’ve switched from the Charges API to working with PaymentIntents and PaymentMethods instead of Charges and Cards?

That’s exactly right


@tj-bubble Does this mean that moving forward the Stripe plugin will only support Stripe-hosted checkout UIs? Also, would it be possible to alert those affected directly? I have a large number of past clients whose apps use these flows who are unlikely to be checking the forum regularly

@austin3 Yes, that’s right, we are moving in the same direction as Stripe and phasing out the legacy checkout in favor of the stripe-hosted checkout UI. We are contacting Stripe to further confirm the exact expected behavior past the May 21st date for the older style Checkout and will report back out findings. We’re also planning on sending an email (that points back to this forum post) to affected Bubble apps soon.

1 Like

@tj-bubble How can we send the user email to the stripe checkout form? I don´t see the option and it´s kind of a pain for user´s having to enter their email. Also this could run into mistakes if the user needs to input the email again and again.


@ryanck thanks for pointing this out, can you confirm which action you’re seeing this behavior on? I am noticing that for a new user trying to “Subscribe the user to” it is missing the email address, but on “Collect the user’s CC information” the email address is there, so I just want to make sure I’m addressing the exact action in your case.

1 Like

Great stuff @tj-bubble thanks!

Does this plugin enable its actions for Stripe Connect Express? … or only for Connect Standard?

  1. In other words … if I complement the plugin’s functionality with other direct api calls to Connect Express will I be able to use info collected via the plugin? … like … being able to charge a user using a saved cc with no problems eventhough I will be using a Connect Express account with Stripe?

  2. Please advice what API does the plugin connects to. The Stripe Charges Api? … or the Payments Intent Api?

@nocodeventure Could you please chip in with some guidance? … I understand you also have a great Stripe plugin. In essence, I would like to know if Stripe needs ALL calls made under the account type chosen with them (Connect Express or Connect Standard).


As you said it’s missing in the subscribe action.

I’m not totally sure the exact use case here for the best answer… If the payee is another user (using Stripe Connect), maybe this documentation is helpful: Stripe - Bubble Docs - The payee of this transaction is another user

V2 (Legacy) was using the charges API and V3 uses Payment Intents API.

I should have a fix for this pushed out by tomorrow morning, thanks again for pointing it out! (One reason for this post is to get feedback for people upgrading to V3 having issues)

1 Like

Hey @austin3 , good questions.

We contacted Stripe to get clarity on what the May 21, 2021 date means exactly, and they said that Legacy Checkout (which our V2 plugin is based on) should still function after this date, so we can relax Bubble’s stance a bit from what we thought originally (which was it would be a breaking API change).

However, because V3 has achieved feature parity, has more features and because Stripe recommends moving off the Legacy Checkout feature, we are going to discontinue supporting/enhancing the V2 plugin (continue using at your own risk)


Got it. So customers can continue to use the legacy UI, they just won’t have access to any actions that use the charges API on stripe’s end?

I may be misunderstanding, but I believe he’s referring to Stripe Connect Express vs. Standard. That’s actually a good question - Will the updated v3 flows support passing in an Express account as the payee?

The plugin should support both Standard & Express Connect accounts.

When a user registers as a seller, they will be brought through a Stripe-hosted onboarding flow where the connect account holder will select the type of account they would like to create. At the end of the day, it is up to the parent account (i.e. the marketplace) to specify what types of accounts they want their connected accounts to have access to. These options are set in the Settings > Connect Settings tab of the Stripe Dashboard.

I hope this answers your question!


It sure does! Thank you!

I updated the announcement after our discussion with Stripe, the V2 functionality should continue to work after that date. Stripe does recommend moving away from the legacy checkout. Sorry for the confusion and let us know if there are any issues with V3 if you decide to upgrade.

@tj-bubble Hi TJ!

Please note that the documentation does not provide information yet on these two new v3 actions:


I am particularly interested in understanding more about the “transfer to seller” action. Please see below


Any comments/guidance would be much appreciated! :slight_smile:

Ah yes, apologies for the missing documentation.

This action uses the Stripe Transfer API and is used to send a sum of money from a Stripe account to a Connected account. The only required fields are the amount, the currency, and the seller (connected account) you’d like the money to go to. This money will be drawn from the parent stripe account. Optionally, a source charge ID can be used as the source of the transfer (an authorized charge would have to be created ahead of time) and the Transfer Group is a custom text string that is stored as part of the Transfer Object used to identify individual transfers as a part of a group of transfers.

I will add this missing documentation, thanks and hope this helps!


The Stripe-Account header is optional and left blank if not working with connected accounts.

My plugin uses the optional header. I believe bubble hasn’t integrated this header.