At my wits end with this - Stripe Connect Accounts

Hey all, hope everyone had a safe new year.

This is a continuation of this post.

The “solution” I provided here is not a solution, as redirecting to mydomain/mypage/poststripeauth does not give Stripe the much necessary account number needed to do transfers through Stripe connect accounts.

I have tried every variation known to man with the stripe redirect, including adding and removing version-test to the poststripeauth redirect, adding various pages to the redirect, but it just seems redirecting to Stripe Authentication just doesnt work, it sits in limbo forever and gets nowhere and returns nothing.

I have followed this:

I have tried abandoning the express method and trying this method;

But that returns an unknown error, even after copying the workflow (almost) word for word.

Can anyone suggest anything I can try to get this working. I’m getting to the point where I will look at paying someone to get this process working, but I really feel like I should be able to do something this simple myself.

Without this process I cant pay my customers, my marketplace wont run, and my 6 months working on my project would have been a waste of time, all because I cant get the Stripe redirect to work correctly.

Any help is appreciated.

Cheers

Chris

2 Likes

Hi @cmccray Chris, you are in version-test in that screenshot, but it looks like you have not put version-test in the callback URL for Stripe.

Have you tried that? it may be a callback URL mismatch where Stripe is trying to return you to the live version of your app when you initiated the process from your test version of the app.

In your Stripe Connect settings, toggle on ‘Test Data’ and then make sure you add the callback url with Version Test. See mine below:

'

This means that when Stripe will return you to your test app and provide the tokens etc and should be the solution!

Has that fixed it?

Reece

Hi Chris, I’m also stuck with Stripe Connect and aim to take a look when I get back after the holiday period. I would be interested in hearing about which Stripe Connect version you’re using. I’m trying to get the custom solution working and have hit a road block. I’m actually considering paying someone to get this completed as it’s the final part of my project that needs completing.

@mattb take a look at my answer above - I believe it to be where Chris’s app is going wrong so maybe it helps you.

Hi, it’s actually the whole Stripe Connect thing I’m stuck on, in terms of creating a customer and business registrations. I need to use the custom method rather than express (including Stripe onboarding), as adding the onboarding process by Stripe will lose me a lot of business. With that in mind, I’m not sure whether the redirect applies to me?

Hey Matt, thanks for your response.

Yes I have tried adding version test to my redirect, I just happened to screenshot one of the iterations of the redirect I was trying. Please see the redirect url identical to yours that I tried just now, it still just sits in limbo forever.

I’ve opened another bug report, but they’ve just pointed me back to the forums for now.

Chris.

I should be doing some testing on this next week, but I’m no expert so don’t hold your breathe!

@cmccray I’m using the API Connector, and it’s working fine for Express. Can you show screenshots of yours?


Here’s an example:

1. Setup API Call:


2. Insert URL that includes a call back page in your app:
image


3. Get Token from URL that is coming back from Stripe:


4. Store the ‘stripe_user_id’ to the users profile (In this case I use Organization in my app):



The workflow should run successful after these. I found that the built in Bubble one to be a pain.

7 Likes

Thankyou so much for this, I’ll have another shot at it this afternoon after I land.

Cheers

Chris

1 Like

Had a play with it this afternoon,

Copied your suggestion and is returning an error:

api error

Does authorization_code come from stripes api endpoint, will I need to create this myself in API workflows?
Tried following this but had no luck:

Thanks for helping thus far, I feel i’m close to getting it going but im just missing a few little things.

Cheers

Chris

Hey @cmccray,

Looks like you’re almost there.

The only thing that jumps out at me is that it appears you’re using your ‘test’ key in the upper portion of the call, but in the token you’re using the ‘live’ key. For testing, try using the ‘test’ key for the ‘client_secret’ and in both areas for the one beginning in ‘sk’.

Basically the way it works is, when you make a call you’re authenticating with stripe and registering the user. When the user is finished filling out the form, they are returned to the URL you provided in the endpoint.

That endpoint holds the ‘authorization_code’. When the user is returned to your URL you provided, the next step of the API kicks in, and grabs that info to then populate your users ‘stripe_user_id’. Of course, you’ll have to include this in the Bubble workflow to grab that (seen in previous post snapshot).


Something that looks like this is what I have:

  1. A user clicks a button to ‘register’ as a seller.
  2. That user is taken to the URL you provided (the Express page)
  3. The user finishes filling out the form, and is returned to the URL you provided.
  4. On your bubble workflow, you’ll use the one I provided above (get token from URL parameter) to complete the registration and store the ‘stripe_user_id’.
  5. Make changes to user to save that ‘stripe_user_id’ with the info provided from Step 4.

If this doesn’t wanna connect, paste the manual response by selecting ‘Manually enter API response’, followed by Save. Should do the trick.

image

{
“access_token”: “{ACCESS_TOKEN}”,
“livemode”: false,
“refresh_token”: “{REFRESH_TOKEN}”,
“token_type”: “bearer”,
“stripe_publishable_key”: “{PUBLISHABLE_KEY}”,
“stripe_user_id”: “{ACCOUNT_ID}”,
“scope”: “express”
}

Sorry for the rambling! Let me know how it goes. :slight_smile:

1 Like

Hi @lantzgould this is excellent, thank you so much for posting this. Stripe Connect Express would be perfect for me too (if I can get it work). I am following your steps but have a few questions.

1.) In your step 1. Setup API Call, where are you sourcing the value under “Shared Headers for All Calls”… “application/x-www-form-urlencode…” ?

2.) In the API setup, for your Key Value and Development Key Value, I assume you are using the “Live Secret Key” and “Secret Key Development”?

3.) In your step 3. Get Token from URL that is coming back from Stripe, when you setup the workflow, is this the initial conditional you applied to the workflow? Screenshot below.

And, what is the exact workflow action you are using in your step 1 workflow action “Stripe Express NEW - Token”. Can you spell that out for me?

Many thanks!

1 Like

Hey @marktuff,

Which source are you referring to? Stripe Docs?

Apologies, I cut off the screenshot - but they should be the test keys (of course, just for testing the methods before going live, usually beginning with ‘sk_test’)

This is just a naming convention I gave it (created this to help out @cmccray)

To answer your question: Yes, this will be the part 1 of 2 in your workflow. Basically all I’m doing here, is (with the API setup) sending the user to the Express Gateway to fill out their information, then return back to my app. The ‘Stripe Express Token’ is what is saving the ‘stripe_use_id’ back to my users. And, all I’m doing when they return to my app is asking the URL what the ‘stripe_user_id’ is (I called it ‘code’) but you can call it whichever you want.

As seen here, you can see it’s just a simple two step process in the workflow. (of course, you’ll need to have a step on a button click somewhere in your app to send them to their destination to kick this off).

I organize my ‘clients’ as ‘organizations’. But you can save this anywhere you’d like.


@cmccray had PM’d me to help with the integration. Happy to take a look if you wish. Or let me know where I can better clarify to help get this goin for you.

4 Likes

Hi @lantzgould, thanks for the response!

Yes, where to look for that information as I wasn’t sure where to find it. I didn’t stumble upon what looks like your url there as I was browsing the Express docs. Is “application/x-www-form-urlencode” what Stripe wants you to use, or is that made up to be an example?

Ok cool, thought so. I think I’m good there.

Can you click into Step 1 to show me what action and expression you are using?

All else sounds good, thanks for the explanations and clarity!

@marktuff Hmm… to be honest I think I found it in a post here in the forum, and piece-mealed this together after trying 100 times lol, but is not made up and works. (Not an expert in API’s)

It should be:

Key: content-type
Value: application/x-www-form-urlencoded

P.s. Here’s what your URL to send the user to the Express Gateway should look like:

Open in external website:

https://connect.stripe.com/express/oauth/authorize?redirect_uri=https://myappname.bubbleapps.io/version-test/settings&client_id=ca_123456789987654321

In the URL, after version-test you need to specify which page name in your app the user will be returned to. In my example, I have my users start on the ‘settings’ page, and return to the ‘settings’ page. Just append it to my example.

Of course:

Ha, thank you for your suffering. I can relate plenty to that!

Ah Ok, you had that screenshot in your original post. I thought that you were clicked into this instead of the step since you highlighted both in your original post.

What was the workflow action you selected to create step1?

1 Like

@marktuff

So the ‘Stripe Express New’ in my example comes from the API Connector setup.

Side note: I had to manually enter the response to get this working, so you may need to as well:

Enter this in the Manual Response:

{
“access_token”: “{ACCESS_TOKEN}”,
“livemode”: false,
“refresh_token”: “{REFRESH_TOKEN}”,
“token_type”: “bearer”,
“stripe_publishable_key”: “{PUBLISHABLE_KEY}”,
“stripe_user_id”: “{ACCOUNT_ID}”,
“scope”: “express”
}

For some reason, the quote above doesn’t always paste well, so here’s where I got this. Copy and paste this response into the manual response section. (Section 4 of Stripe Docs)

If this worked, it should now look like this:

Hit save. And now this portion is done. If we head back over the workflow, here should now be an option to use to retrieve the Token.

image

2 Likes

Hi @lantzgould,

Why not use the Stripe.js plugin instead of the manual authoring API connector? I have to admit, it’s a challenge. With Bubble API, it makes us 3 ways to connect to Stripe with each their advantages.

Hey @JohnMark,

Valid point for sure! My answer is quite simple really. In that the plugin author of that particular one doesn’t seem to be friendly or keep up with updates. So, I just like to know that I can make changes on my own without having to worry.

Indeed though, it’s a nice plugin, but those are just my thoughts. :slight_smile:

2 Likes

Yes, you teach the full control process. Maybe I’ll move to this method. I had started a few months ago, but I found the Bubble plugin easier. When needs change, it actually complicates the process. Great work.

1 Like