#redtopia-express-payouts
1 messages · Page 1 of 1 (latest)
Hi there! The transfer will move funds from your platform to your Connected Account. Since you are creating these transfers I assume that means you want to use the Separate Charges & Transfers flow: https://stripe.com/docs/connect/charges-transfers?
Let me take a look... thank you!
I would verify that is the funds flow you want to use first! Then we can discuss the transfers and payouts portion!
What we do is when a purchase is made, we deduct fees and add $ to the vendor's balance that is stored internally. So we are not relying on Stripe to keep track of vendor balances. Does this sound like the flow you linked to?
Do you want the funds to go to your Connected Account immediately when the end-customer pays?
Looking at the flow, we are not moving funds to the Connect Express account... it's not that we can't do this, or there's a reason why we don't do this... it's just not the way it's currently done. My thought would be that we would attach a debit card to our main Stripe account, which would be used to allocate the funds for payouts.
I think you are confused on how Connect works.
You have to move funds into the Connected Accounts if you want your vendors to be paid out.
Our platform has an accounting system built into it, and it currently relies on all purchases to be transferred from Stripe to our income bank account. Then when a payout is needed, we would move funds into the vendor's Express account.
There's no doubt that I am confused lol! That's why I'm here!
Oh okay, thank you that clarifies it!
Are all of your Connected Accounts going to be in the same region as your platform? Or, are you a US platform?
We have vendors all over the world
I've already got the Express account onboarding flow working, FYI
Okay, and you are using cross border payouts with the recipient terms of service agreement?
Yes
Perfect
Okay so let's return to your original question.
As you stated, you will create Transfers to your Connected Accounts. When you create the Transfer, you will specify the Account ID that you are transferring to (see: https://stripe.com/docs/api/transfers/create#create_transfer-destination). Transfers will never fail, unless you have insufficient funds in your Platform balance to make the transfer, or the Connected Account is disabled and can't receive the transfer. In this case the transfer request itself will fail and you will want to handle that error gracefully.
Once the Transfer is complete, and the associated funds are Available, you will create a payout for the Express Account: https://stripe.com/docs/api/payouts/create.
Yes, I've gotten this far... I can create the transfer
That Payout will move the funds from the Express account balance to the Express external account.
The docs for creating these manual payouts for Connect are here: https://stripe.com/docs/connect/manual-payouts
Looking at the docs, it says "To send funds to your own bank account, you create a new payout object."
okay, that last doc explains it better... this doc is confusing: https://stripe.com/docs/api/payouts/create
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
https://stripe.com/docs/api/payouts/create is the API Reference for the parameters associated with creating the API request. You do use the same endpoint whether you are creating a payout on your own account or your Connected Account (but you pass the Connected Account ID when creating for the Connected Account).
ok, so if I understand this correctly, first I create the transfer, which will transfer funds from my main account to the vendor's express account. Then I create a payout, which moves the funds from the express account into their external account. Is that correct?
That's correct!
OK great... a couple more questions... does the express account have to be fully setup for the payout to succeed? In other words, in my testing, I noticed that I don't have to complete the onboarding process... I can come back to it. Let's say a user doesn't complete it, and they haven't added an external account yet. Can I still create the payout and it would be considered "pending" until the vendor completed their express account setup?
https://stripe.com/docs/connect/required-verification-information will inform you on what information is collected prior to first payout or first charge (in this case the "charge" would be a transfer into the Connected Account).
It seems to me that Stripe handles all this stuff... so what I'm asking is whether or not I have to worry about how much information has been provided to Stripe by the vendor. Let's say they start filling it out and they don't complete it, but they've made money and my platform wants to pay them. Can I create the transfer/payout and let Stripe take care of the rest? Or will the transfer and/or payout fail?
If they have no completed the necessary information to have charges/payouts enabled then the transfer or payout will fail. You should use the account.updated webhook to understand when your Connected Accounts are enabled for charges/payouts so you know when they can receive funds and/or payout.
OK, I can test that. One last question... how can I move funds into Stripe for payouts?
You will want to use Top Ups. See: https://stripe.com/docs/connect/top-ups
OK... thank you, you've been very helpful!!! I wish I could buy you lunch!