# How to check Stripe account status

- Tool: Stripe
- Difficulty: Beginner
- Time required: 5 minutes
- Compatibility: All Stripe accounts, all plans
- Last updated: March 2026

## TL;DR

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.

## Before you start

- A Stripe account
- Access to the Stripe Dashboard or your secret key for API access

## Step-by-step guide

### 1. 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.

### 2. 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.

### 3. 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.

```
const Stripe = require('stripe');
const stripe = Stripe(process.env.STRIPE_SECRET_KEY);

async function checkStatus() {
  const account = await stripe.accounts.retrieve();

  console.log('Account ID:', account.id);
  console.log('Charges enabled:', account.charges_enabled);
  console.log('Payouts enabled:', account.payouts_enabled);

  if (account.requirements.currently_due.length > 0) {
    console.log('Currently due:', account.requirements.currently_due);
  }
  if (account.requirements.past_due.length > 0) {
    console.log('Past due:', account.requirements.past_due);
  }
  if (account.requirements.disabled_reason) {
    console.log('Disabled reason:', account.requirements.disabled_reason);
  }

  return account;
}

checkStatus();
```

**Expected result:** The script logs your account status including whether charges and payouts are enabled and any outstanding requirements.

## Complete code example

File: `check-account-status.js`

```javascript
// check-account-status.js
// Comprehensive Stripe account status check

const Stripe = require('stripe');
const stripe = Stripe(process.env.STRIPE_SECRET_KEY);

async function checkAccountStatus() {
  try {
    const account = await stripe.accounts.retrieve();

    console.log('=== Stripe Account Status ===');
    console.log('');
    console.log('Account ID:', account.id);
    console.log('Business name:', account.business_profile?.name || 'Not set');
    console.log('Country:', account.country);
    console.log('');

    // Core status
    console.log('Charges enabled:', account.charges_enabled ? 'Yes' : 'No');
    console.log('Payouts enabled:', account.payouts_enabled ? 'Yes' : 'No');
    console.log('Details submitted:', account.details_submitted ? 'Yes' : 'No');
    console.log('');

    // Requirements
    const reqs = account.requirements;
    if (reqs.disabled_reason) {
      console.log('DISABLED REASON:', reqs.disabled_reason);
    }

    if (reqs.currently_due.length > 0) {
      console.log('Currently due (need to provide):');
      reqs.currently_due.forEach(r => console.log('  -', r));
    }

    if (reqs.eventually_due.length > 0) {
      console.log('Eventually due (will be needed):');
      reqs.eventually_due.forEach(r => console.log('  -', r));
    }

    if (reqs.past_due.length > 0) {
      console.log('PAST DUE (overdue):');
      reqs.past_due.forEach(r => console.log('  -', r));
    }

    if (reqs.current_deadline) {
      const deadline = new Date(reqs.current_deadline * 1000);
      console.log('Deadline:', deadline.toISOString());
    }

    if (reqs.currently_due.length === 0 && reqs.past_due.length === 0) {
      console.log('All requirements met. Account is fully active.');
    }

    return account;
  } catch (err) {
    console.error('Failed to check status:', err.message);
  }
}

checkAccountStatus();
```

## Common mistakes

- **Ignoring the requirements notifications in the Dashboard** — undefined Fix: Check for and resolve requirements promptly. Past-due requirements can disable charges or payouts.
- **Assuming charges_enabled means the account is fully set up** — undefined Fix: Also check payouts_enabled and the requirements object. An account can have charges enabled but payouts disabled if additional verification is needed.
- **Not checking eventually_due requirements** — undefined Fix: 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

## 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.

---

Source: https://www.rapidevelopers.com/stripe-guide/how-to-check-stripe-account-status
© RapidDev — https://www.rapidevelopers.com/stripe-guide/how-to-check-stripe-account-status
