Setting up Stripe Destination payments on Bubble.io

Ive been trying to setup Stripe connect (express) payments but caught up in one section.

I followed a pretty good guide on how to use API Connected to setup Stripe connect onboarding and stripe connect subscriptions but I havent been able to work out how to do Destination payments where a User is Charged, A fee is paid to Admin and then A seller is paid the remaining funds.

Does anyone have any clear docs on how to set this up?

I plan to charge users a fixed fee + X% fee of sale price fee.

This is what i got most info from so far

@lantzgould @marktuff I bet you guys get questions about this all the time, seem to be the only 2 people I can find that may have nailed this.

Hey @Mike_S, thanks for shout.

This link might help you in accepting those fees via the API:


Alternatively, @nocodeventure has a great plugin for this.

Cheers for the quick response.

I just noticed on the old discussion that there were reply responses that I had not expanded so the missing info i need is hopefully sitting in there somewhere.
(Doesn’t help that im only 2 weeks into bubble or any form of coding for that matter haha)

Feel like im so close to getting it sorted that Its worth pushing through anyway without using another plugin.

Sounds good. That thread is pretty long, but feel free to post back if you get stuck in the API calls :slightly_smiling_face:

For this section, At the very top do i just do the same as the the Stripe Express Api connected in the fields ? ( the section is cut off at the top of screenshot )

Authentication - Private key in header,
key name - Authorization
Key value Bearer skxxxxxxxxxxxxxxx

I’m not quite sure what you’re asking. But, if you already have your authentication set up at the very top of the list, you won’t have to repeat the process.

as far as i understand i think i made these two as separate API’s rather than adding a call to the first API (named Stripe Express, which works to add a new seller to stripe connect)

So Im assuming i need to fill in the top section again with the details i just listed?

Yes, correct.

Ok so this is where I’m at so far.

Api setup -

Using the manually entered response from this link (cURL)
https://stripe.com/docs/api/charges/create

Turns back this.

I changed the application_fee from text to number
and appliction_fee_amount from text to number

Left rest as is.

Workflow set as

When tested I get the result

Im using live stripe keys for all tests.

Not sure what ive missed in the process.

This might narrow it down a bit On Stripe the error shows as Parameter missing - Amount.

Make sure the ‘application fee amount’ & ‘amount’ are marked for query string. Also, ensure you’re using the Stripe test keys while working in your bubble version-test, and live keys only in live.

Cheers for that. I’ll give that a go. I Made the changes but looks like bubbles having issues with deployment for the last 2hrs so havent been able to see the results yet

(We had an error deploying your app: Could not deploy to live - behind live)

Ok, so its looking like the issue is that i am using “tok_visa” as the source, which is only usable in testing and im only doing tests in Live mode.

Just have to work out what it needs to be replaced with.

Edit- i have no idea what im doing haha

Tok_visa is used in both test and live. Can you screenshot where you’re stuck?

Also, when you say live mode, are you using stripe test keys in your version-test environment? Or live keys in your version-test environment?

Its recognising the seller connected account, but wont pick up the fee amount or details for the source .

This is the log i can see on the sellers acc in stripe.

api side

Workflow side

This is where my trial and guessing has lead to so far for the destination payments

Tests are being done on the live domain , and using live keys.

Havent played with anything else so the subscription system and onboarding of sellers to connect still work fine.

Update : The application fee is now being picked up. so thats a tiny bit of progress.

I see. In the screenshot above for your api call, you don’t need the ‘client secret’ in there. This is handled by the authentication you setup at the very top of the api list. The ‘code’ is also not a valid parameter in this api call, so not needed. You also don’t need ‘grant type’.

The value you have for ‘code’ is probably supposed to renamed to ‘source’.

The issue keeps pointing to no Source being set.

Really not sure how its done but looks like the last thing i need to do is attach a Reusable Source to the customer first
https://stripe.com/docs/api/sources/attach

Yes, there must be a value first before using… But I meant the API call can’t read your source because it has the wrong field name.

Should be:

Key: source
Value: src_123123123

I should also mention, you can delete everything in the JSON body. You don’t need that.