Using manual payouts
If you set the value of settings[payouts][schedule][interval]
to manual
using the Accounts API, we hold funds in the accountholder’s balance for a set period of time until you specify otherwise. We base the holding period on the merchant’s country, as shown below:
Country | Holding Period |
---|---|
Thailand | 10 days |
United States | 2 years |
All other countries | 90 days |
To trigger a payout of these funds, use the Payouts API.
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.
Note
Escrow has a precise legal definition and Stripe doesn’t support escrow accounts. However, Stripe does 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 US, 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:
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.
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.