Sign in
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
Security
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Support
Overview
Overview
Get started
Collect payments then pay out
Enable other businesses to accept payments directly
Pay out money
Explore Connect
Onboard your accounts
Choose your account type
Standard
Express
Custom
Service agreement types
Account capabilities
Update verified info
Accept payments
Create a charge
Create a payments page
Add payment methods
Set statement descriptors
Clone customers across accounts
Create subscriptions
Create invoices
Debit connected accounts
Pay out
Set bank and debit card payouts
Bank accounts
Manage payout schedule
Manual payouts
Payout reversals
Instant Payouts
Cross-border payouts
Manage funds
Add money to your platform balance
Account balance
Handle other currencies
Manage accounts
Best practices
Listen for updates
Dashboard account management
Platform controls for Standard accounts
Make API calls for connected accounts
Set MCCs
Testing
Manage tax forms
Overview
Get started with tax reporting
Tax form settings
Calculation methods
File tax forms
File tax forms with states
Modify tax forms
Deliver tax forms
Correct tax forms
Split tax forms
Tax reporting for Payable users
Testing
connect
·
HomePaymentsMultiparty payments

Using manual payouts

Sending manual payouts to your Custom and Express connected accounts

If you set the value of settings[payouts][schedule][interval] to manual using the Accounts API, Stripe will hold funds in the account holder’s balance until told to pay them out for up to 90 days. The exception to this limitation is the U.S., where funds can be held in their balance for up to two years. To trigger a payout of these funds, use the Payouts API.

Terminal
curl https://api.stripe.com/v1/accounts/{{CONNECTED_STRIPE_ACCOUNT_ID}} \ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d "settings[payouts][schedule][interval]"="manual"

The Payouts API is only for moving funds from a connected Stripe account’s balance into their external account. To move funds between the platform and a connected account, see creating separate charges and transfers or creating destination charges through the platform.

Escrow has a precise legal definition and Stripe does not support escrow accounts. However, we do provide escrow-like behavior through manual payouts. This gives you influence over payout timing, with the ability to delay payouts to Express and Custom accounts for up to 90 days; though, for the U.S., the delay can be up to 2 years.

Manual payouts can be used as an alternative to escrow when there may be a risk of a delayed delivery, or if there’s the possibility of a refund being needed.

Regular payouts

The following example sends 10 USD from a connected account’s Stripe balance to their external account:

Terminal
curl https://api.stripe.com/v1/payouts \ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d amount=1000 \ -d currency="usd" \ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}"

With a standard payout, you can move an amount up to the user’s available balance. To find that amount, perform a retrieve balance call on their behalf.

Stripe tracks balance contributions from different payment sources in separate balances. The retrieve balance response breaks down the components of each balance by source type. For example, to create a payout specifically for a non-credit-card balance, specify the source_type in your request.

Terminal
curl https://api.stripe.com/v1/payouts \ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d "amount"=24784 \ -d "currency"="usd" \ -d "source_type"="bank_account"

Note that it is possible for any source’s balance component to go negative (through refunds or chargebacks), and payouts can’t be created for greater than the aggregate available balance.

Was this page helpful?
Questions? Contact us.
Developer tutorials on YouTube.
You can unsubscribe at any time. Read our privacy policy.