Check your Stripe account status in the Dashboard under Settings → Account details, where you can see if charges and payouts are enabled, and whether any verification requirements are pending. You can also check programmatically using the Accounts API, which returns charges_enabled, payouts_enabled, and a requirements object listing any outstanding items.
Checking Your Stripe Account Verification and Status
Your Stripe account status tells you whether you can accept payments and receive payouts. If Stripe needs additional information — like identity verification or business documents — your account may have limited functionality until those requirements are met. This guide shows you how to check your status in the Dashboard and via the API.
Prerequisites
- A Stripe account
- Access to the Stripe Dashboard or your secret key for API access
Step-by-step guide
Check status in the Dashboard
Check status in the Dashboard
Log in to the Stripe Dashboard. If there are any issues with your account, you will see a banner at the top of the page with a link to resolve them. For a detailed view, go to Settings → Account details where you can see your verification status.
Expected result: You can see whether your account is fully verified or if any actions are needed.
Look for requirement notifications
Look for requirement notifications
Stripe shows notifications in the Dashboard when information is needed. Common requirements include verifying your identity, providing a bank account, or uploading business documents. Each requirement shows a deadline by which it must be completed.
Expected result: You see a list of any pending requirements with their deadlines, or a confirmation that no requirements are outstanding.
Check status via the API
Check status via the API
Use the Accounts API to retrieve your account object. The key fields are charges_enabled, payouts_enabled, and requirements which lists anything Stripe needs from you.
1const Stripe = require('stripe');2const stripe = Stripe(process.env.STRIPE_SECRET_KEY);34async function checkStatus() {5 const account = await stripe.accounts.retrieve();67 console.log('Account ID:', account.id);8 console.log('Charges enabled:', account.charges_enabled);9 console.log('Payouts enabled:', account.payouts_enabled);1011 if (account.requirements.currently_due.length > 0) {12 console.log('Currently due:', account.requirements.currently_due);13 }14 if (account.requirements.past_due.length > 0) {15 console.log('Past due:', account.requirements.past_due);16 }17 if (account.requirements.disabled_reason) {18 console.log('Disabled reason:', account.requirements.disabled_reason);19 }2021 return account;22}2324checkStatus();Expected result: The script logs your account status including whether charges and payouts are enabled and any outstanding requirements.
Complete working example
1// check-account-status.js2// Comprehensive Stripe account status check34const Stripe = require('stripe');5const stripe = Stripe(process.env.STRIPE_SECRET_KEY);67async function checkAccountStatus() {8 try {9 const account = await stripe.accounts.retrieve();1011 console.log('=== Stripe Account Status ===');12 console.log('');13 console.log('Account ID:', account.id);14 console.log('Business name:', account.business_profile?.name || 'Not set');15 console.log('Country:', account.country);16 console.log('');1718 // Core status19 console.log('Charges enabled:', account.charges_enabled ? 'Yes' : 'No');20 console.log('Payouts enabled:', account.payouts_enabled ? 'Yes' : 'No');21 console.log('Details submitted:', account.details_submitted ? 'Yes' : 'No');22 console.log('');2324 // Requirements25 const reqs = account.requirements;26 if (reqs.disabled_reason) {27 console.log('DISABLED REASON:', reqs.disabled_reason);28 }2930 if (reqs.currently_due.length > 0) {31 console.log('Currently due (need to provide):');32 reqs.currently_due.forEach(r => console.log(' -', r));33 }3435 if (reqs.eventually_due.length > 0) {36 console.log('Eventually due (will be needed):');37 reqs.eventually_due.forEach(r => console.log(' -', r));38 }3940 if (reqs.past_due.length > 0) {41 console.log('PAST DUE (overdue):');42 reqs.past_due.forEach(r => console.log(' -', r));43 }4445 if (reqs.current_deadline) {46 const deadline = new Date(reqs.current_deadline * 1000);47 console.log('Deadline:', deadline.toISOString());48 }4950 if (reqs.currently_due.length === 0 && reqs.past_due.length === 0) {51 console.log('All requirements met. Account is fully active.');52 }5354 return account;55 } catch (err) {56 console.error('Failed to check status:', err.message);57 }58}5960checkAccountStatus();Common mistakes when checkking Stripe account status
Why it's a problem: Ignoring the requirements notifications in the Dashboard
How to avoid: Check for and resolve requirements promptly. Past-due requirements can disable charges or payouts.
Why it's a problem: Assuming charges_enabled means the account is fully set up
How to avoid: Also check payouts_enabled and the requirements object. An account can have charges enabled but payouts disabled if additional verification is needed.
Why it's a problem: Not checking eventually_due requirements
How to avoid: Eventually due items will become currently due at a future date. Address them early to avoid disruptions.
Best practices
- Set up a scheduled check of your account status via the API to catch issues early
- Address 'currently_due' requirements before their deadline to avoid account restrictions
- Monitor the account.updated webhook event to be notified of status changes automatically
- Keep your business information up to date to prevent verification issues
- For Stripe Connect platforms, check the status of each connected account regularly
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
Show me how to check my Stripe account status using the Node.js API. I want to see if charges and payouts are enabled, and list any pending requirements with their deadlines. Explain what each field in the requirements object means.
Write a Node.js script that retrieves my Stripe account, checks charges_enabled and payouts_enabled, and lists all currently_due, eventually_due, and past_due requirements. Include handling for the disabled_reason field.
Frequently asked questions
What does charges_enabled: false mean?
It means your account cannot accept payments. This usually happens when required verification information has not been provided or when Stripe has placed a restriction on the account.
What does payouts_enabled: false mean?
It means Stripe cannot send funds to your bank account. This is often because you have not added a bank account or because additional identity verification is needed.
What happens if I miss a requirements deadline?
If a currently_due requirement passes its deadline without being resolved, the item moves to past_due and Stripe may disable charges, payouts, or both until the requirement is met.
Can I check account status in test mode?
Yes. The account status is the same in test and live modes since it reflects your actual account verification state, not transaction data.
How do I get notified when my account status changes?
Set up a webhook listener for the account.updated event. Stripe sends this event whenever your account status or requirements change.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation