Connect
Add money to your platform balance

Adding funds to your platform balance U.S. only

U.S. platforms can add funds to their balance from a linked bank account.

Platforms can add funds to their Stripe balance as part of their normal business operations. There are a number of different use cases for adding funds, including:

  • Paying bonuses or other one-off payouts, independent of specific charges
  • Providing customer discounts while still paying full price for goods or services to sellers
  • Adding funds from non-Stripe income (e.g., checks or funds from another processor)
  • Enabling faster payouts (e.g., pay a vendor before incoming funds become available)

Requirements

All of these requirements must be met to add funds to your Stripe balance:

  • Your platform is in the U.S. and the connected account receiving the funds is either:
    • In the U.S., or
    • Has a recipient service agreement.
  • Your platform is on a manual payout schedule.
  • Your platform profile is approved. You can check the status in your settings after completing the platform profile.

Get started

If you’re new to Connect, start with a guide to add funds to your platform balance and pay out money.

Step 1: Confirm funding purpose

To add funds, go to the Balance section in the Dashboard.

Click the Add to balance button. You will be given a prompt to select why you are adding funds to your account.

To add funds that will be paid out to your connected accounts, select “Pay out connected accounts” to proceed.

If you are adding funds to your balance to cover future refunds and disputes, or to repay your platform’s negative balance, select the second option and see the instructions.

Step 2: Verifying your bank account

You must use a verified bank account to add funds. You’ll go through the verification process in the Dashboard when you first attempt to add funds from an unverified bank account.

If your bank account is unverified, you’ll need to confirm two microdeposits from Stripe. These deposits will appear on your online banking statement within 1-2 business days. You’ll see AMNTS for the statement description and the values of the two microdeposits.

Stripe will notify you in the Dashboard and via email when the microdeposits should have arrived in your account. To complete the verification process, click the Dashboard notification in the Balance section, enter the two microdeposit amounts, and click Verify account.

Step 3: Add funds

Once verified, you can use the Dashboard or the API to add funds to your account balance.

Dashboard

  1. In the Dashboard, go to the Balance section.
  2. In the Add to balance window, enter an amount in USD and select Connect payouts.
  3. In the resulting modal window (shown below), enter an amount in USD.
  4. Verify the amount and then click Add funds.
  5. The resulting object is called a top-up and can be viewed in the Top-ups section of your dashboard.
  6. After the funds are available in your platform’s Stripe balance, you can transfer funds to a connected account via the API or the Dashboard. In the Dashboard, transfer funds to a connected account by clicking Send funds in the the Balance section on the connected account’s detail page.

API

When you add funds through the API, a top-up object is created.

curl https://api.stripe.com/v1/topups \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d amount=2000 \ -d currency=usd \ -d description="Top-up for week of May 31" \ -d statement_descriptor="Weekly top-up"
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' topup = Stripe::Topup.create({ amount: 2000, currency: 'usd', description: 'Top-up for week of May 31', statement_descriptor: 'Weekly top-up', })
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' topup = stripe.Topup.create( amount=2000, currency='usd', description='Top-up for week of May 31', statement_descriptor='Weekly top-up', )
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys \Stripe\Stripe::setApiKey('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); $topup = \Stripe\Topup::create([ 'amount' => 2000, 'currency' => 'usd', 'description' => 'Top-up for week of May 31', 'statement_descriptor' => 'Weekly top-up', ]);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; TopupCreateParams params = TopupCreateParams.builder() .setAmount(2000L) .setCurrency("usd") .setDescription("Top-up for week of May 31") .setStatementDescriptor("Weekly top-up") .build(); Topup topup = Topup.create(params);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); const topup = await stripe.topups.create({ amount: 2000, currency: 'usd', description: 'Top-up for week of May 31', statement_descriptor: 'Weekly top-up', });
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys stripe.Key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc" params := &stripe.TopupParams{ Amount: stripe.Int64(2000), Currency: stripe.String(string(stripe.CurrencyUSD)), Description: stripe.String("Top-up for week of May 31"), StatementDescriptor: stripe.String("Weekly top-up"), } t, _ := topup.New(params)
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys StripeConfiguration.ApiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; var options = new TopupCreateOptions { Amount = 2000, Currency = "usd", Description = "Top-up for week of May 31", StatementDescriptor = "Weekly top-up", }; var service = new TopupService(); var topup = service.Create(options);

When you transfer funds, a statement descriptor appears on your banking statement for the transaction. The default statement descriptor is “Top-up.” You can customize the statement descriptor and internal description for the top-up.

Seeing your funds

View your added funds in the Dashboard on Top-ups tab under the Balance page. Each time you add funds, a top-up object is made that has a unique ID in the format tu_XXXXXX, which you can see on the detailed view for the top-up.

Settlement timing

US platforms add funds via ACH debit, and can take 5-6 business days to become available in your Stripe balance. You can request a review of your account for faster settlement timing in the Dashboard.

As we learn more about your account, Stripe might be able to decrease your settlement timing automatically.

Adding funds for future refunds and disputes, or to repay a negative balance can happen via bank or wire transfer, and will become available in 1-2 business days.

Testing

You can use the Dashboard or the API to test adding funds to your balance. Refer to the Connect testing documentation for more details.