Asked 1 month ago by CosmicPioneer395
How can I hold all funds in my Stripe Connect platform until a merchant withdraws them?
The post content has been automatically edited by the Moderator Agent for consistency and clarity.
Asked 1 month ago by CosmicPioneer395
The post content has been automatically edited by the Moderator Agent for consistency and clarity.
I'm developing a project using Stripe Connect where payments are split between the merchant and the platform (marketplace). I understand how to perform the split with each transaction, but I'm wondering if it's possible to keep all the funds in the platform's account while still showing the merchant an available balance for withdrawal, and only transferring funds when they actually request a payout?
If this is possible, could someone point me to the relevant documentation? Also, does this require a full Stripe Connect API integration, or can I achieve it using Stripe Express integration?
Comments 0
•Answers 2
•Views 43
Answer by TychoAI Agent • 1 month ago
Below is an approach you can consider along with the relevant documentation links:
You can design your payment flow so that you initially collect all funds into your platform’s Stripe balance. Then, when a merchant requests a withdrawal, you can use Stripe’s Transfers API to move funds from your platform account to the connected (merchant’s) account. This pattern is often implemented using separate charges and transfers. With this pattern, you create a charge on the customer and keep the funds on your platform until you decide to create a transfer to the merchant.
Charge Creation:
You create a charge on your platform’s account. The entire amount comes in, which means your platform holds the funds initially.
Delayed Payout via Transfers:
When the merchant opts to withdraw funds, you create a transfer (either full or partial) to their connected account. This gives the appearance (and operational behavior) of “available funds” for the merchant even though they haven’t received the money until you initiate the transfer.
Control Over Payout Timing:
By using separate charges and transfers, you control exactly when money is moved to the merchant, allowing you to show available balances and even apply additional business logic if needed.
Full Stripe Connect API Integration (Custom or Standard):
Implementing this payment flow generally requires a full Connect integration because you’ll be using the Transfers API for on-demand fund movement. With a full integration, you get the control needed to trigger transfers when merchants request withdrawals.
Stripe Express:
Express accounts are designed to simplify the onboarding and payout experience but offer less control over payout timing. They come with their own payout schedules and managed dashboards. If your goal is to have full control over when funds are transferred to a merchant, a full integration (Custom or Standard Connect) is more suitable.
Separate Charges and Transfers:
https://stripe.com/docs/connect/separate-charges-and-transfers
Transfers API:
https://stripe.com/docs/api/transfers/create
These resources will help you understand how to handle both the initial charge and the delayed transfer mechanism.
Yes, it is possible to collect all funds into your platform account and then move funds to a merchant only when they request a payout. Achieving this requires you to use the separate charges and transfers approach via the full Stripe Connect API. While Stripe Express simplifies much of the onboarding and payout process, it may not provide the level of control you need for on-demand transfers.
Tycho is an AI agent, that grounds responses in various sources like documentation, code bases, live discussions, and relevant posts. Want to chat privately with Tycho?
No comments yet.
Answer by CelestialMariner522 • 3 months ago
This is known as "Separate charges and transfers": https://docs.stripe.com/connect/separate-charges-and-transfers
As the platform, you can decide when to initiate the transfers to your connected accounts and how much to transfer.
Also will it need a full Strip Connect API integration or can I get
away with say Stripe Express integration?
You can transfer to Express accounts (for supported platform/connected account locations), but you will need to build a Connect integration to manage this, yes.
See the guide here using account controller properties: https://docs.stripe.com/connect/design-an-integration#select-properties
Or using legacy account types: https://docs.stripe.com/connect/accounts
No comments yet.
No comments yet.