Activate Stripe payouts by completing account verification and adding a bank account. Go to Dashboard → Settings → Payouts, add your bank account details (routing and account number), and ensure your identity verification is complete. Stripe holds payouts until your account is verified. Once activated, you can configure automatic payout schedules or trigger manual payouts.
Getting Stripe Payouts Working
Stripe payouts transfer your available balance to your bank account. Before payouts can start, you need to complete identity verification (KYC) and add a valid bank account. New accounts typically have a 7-14 day initial payout delay while Stripe processes your first transactions. Once activated, payouts happen automatically on your configured schedule — daily, weekly, or monthly.
Prerequisites
- A Stripe account with Dashboard access
- Your bank account routing number and account number
- Identity verification documents (if not already submitted)
Step-by-step guide
Complete account verification
Complete account verification
Go to Dashboard → Settings → Account details. Complete all outstanding verification requirements — personal information, business information (if applicable), and identity documents. Payouts cannot be enabled until verification is complete.
Expected result: All verification requirements are met. The 'currently_due' list is empty.
Add a bank account
Add a bank account
Go to Dashboard → Settings → Payouts → Add bank account. Enter your bank's routing number, your account number, and the account holder name. For US accounts, use your 9-digit ABA routing number. Stripe may verify the account with micro-deposits.
Expected result: Bank account is added and either immediately verified or pending micro-deposit verification.
Confirm micro-deposits (if required)
Confirm micro-deposits (if required)
Stripe may send two small deposits (under $1) to your bank account for verification. These appear within 1-2 business days. Return to Dashboard → Settings → Payouts and enter the deposit amounts to confirm your bank account.
Expected result: Bank account verified. Payouts are now enabled.
Check payout status
Check payout status
Go to Dashboard → Balance to see your available balance and pending payouts. For new accounts, Stripe holds payouts for 7-14 days to manage risk. After this initial period, payouts follow your configured schedule.
1const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);23// Check balance4const balance = await stripe.balance.retrieve();5console.log('Available:', balance.available);6console.log('Pending:', balance.pending);78// Check account payout status9const account = await stripe.accounts.retrieve();10console.log('Payouts enabled:', account.payouts_enabled);Expected result: You can see your available and pending balance, and confirm payouts are enabled.
Trigger a manual payout (optional)
Trigger a manual payout (optional)
If you don't want to wait for the automatic schedule, you can trigger a manual payout from the Dashboard (Balance → Pay out funds) or via the API.
1const payout = await stripe.payouts.create({2 amount: 10000, // $100.003 currency: 'usd',4 description: 'Manual payout — March 2026',5});67console.log('Payout status:', payout.status); // 'pending' or 'in_transit'Expected result: A manual payout is initiated. Funds typically arrive in your bank within 2 business days (US).
Complete working example
1require('dotenv').config();2const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);34async function checkPayoutReadiness() {5 const account = await stripe.accounts.retrieve();6 const balance = await stripe.balance.retrieve();78 console.log('=== Payout Status ===');9 console.log('Payouts enabled:', account.payouts_enabled);10 console.log('Charges enabled:', account.charges_enabled);1112 if (!account.payouts_enabled) {13 console.log('\nPayouts are disabled. Requirements:');14 console.log('Currently due:', account.requirements.currently_due);15 console.log('Errors:', account.requirements.errors);16 return;17 }1819 console.log('\n=== Balance ===');20 balance.available.forEach(b => {21 console.log(`Available: ${b.amount / 100} ${b.currency.toUpperCase()}`);22 });23 balance.pending.forEach(b => {24 console.log(`Pending: ${b.amount / 100} ${b.currency.toUpperCase()}`);25 });26}2728async function createManualPayout(amount, currency = 'usd') {29 try {30 const payout = await stripe.payouts.create({31 amount,32 currency,33 description: `Manual payout — ${new Date().toISOString().split('T')[0]}`,34 });35 console.log(`Payout created: ${payout.id}, status: ${payout.status}`);36 return payout;37 } catch (err) {38 console.error('Payout failed:', err.message);39 throw err;40 }41}4243async function listRecentPayouts(limit = 10) {44 const payouts = await stripe.payouts.list({ limit });45 payouts.data.forEach(p => {46 console.log(`${p.id} | ${p.amount / 100} ${p.currency.toUpperCase()} | ${p.status} | ${new Date(p.arrival_date * 1000).toLocaleDateString()}`);47 });48}4950module.exports = { checkPayoutReadiness, createManualPayout, listRecentPayouts };Common mistakes when activating payouts in Stripe
Why it's a problem: Adding incorrect bank account details (wrong routing or account number)
How to avoid: Double-check numbers before submitting. Incorrect details cause payouts to fail, and returned payouts take 5-7 days. Contact your bank to confirm your routing and account numbers.
Why it's a problem: Expecting immediate payouts on a new account
How to avoid: New Stripe accounts have a 7-14 day initial payout delay. This is a standard risk management measure. Subsequent payouts follow your configured schedule (default: 2 business days for US).
Why it's a problem: Not completing identity verification before expecting payouts
How to avoid: Payouts are disabled until all verification requirements are met. Go to Dashboard → Settings → Account details and complete any pending items.
Why it's a problem: Trying to pay out more than the available balance
How to avoid: You can only pay out your available balance, not pending funds. Check stripe.balance.retrieve() to see what's available.
Best practices
- Complete all verification requirements as soon as you create your account
- Double-check bank routing and account numbers before adding them
- Start with automatic daily payouts and adjust the schedule once your cash flow is established
- Monitor payout failures via the Dashboard and payout.failed webhooks
- Use the API to check balance and payout status programmatically
- Keep a backup bank account in case your primary bank rejects a payout
- For platforms using Stripe Connect, verify connected accounts before enabling payouts
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
Write a Node.js script that checks Stripe payout readiness (account verification status, balance available), creates a manual payout, and lists recent payouts with their status and arrival dates. Include error handling for insufficient balance.
Build a Stripe payout management module in Node.js that checks account payout eligibility, retrieves available balance, creates manual payouts, and lists recent payout history with status tracking.
Frequently asked questions
How long does it take to receive my first Stripe payout?
New accounts have a 7-14 day initial delay. After that, US payouts typically take 2 business days. Some accounts may be eligible for instant payouts for an additional fee.
Why are my payouts disabled?
Payouts are disabled when verification is incomplete or your account has been flagged for review. Check Dashboard → Settings → Account details for any pending requirements or errors.
Can I get instant payouts?
Stripe offers instant payouts to eligible accounts for a 1% fee (minimum $0.50). Funds arrive within 30 minutes to a linked debit card or eligible bank account. Check your eligibility in Dashboard → Settings → Payouts.
What happens if a payout fails?
Failed payouts return the funds to your Stripe balance. The most common cause is incorrect bank details. Update your bank account information and the payout will be retried automatically.
Can I pause payouts temporarily?
Yes. Go to Dashboard → Settings → Payouts and toggle off automatic payouts. Your balance accumulates until you resume payouts or trigger manual ones. RapidDev teams sometimes advise this during platform migrations.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation