# How to verify your Stripe account

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

## TL;DR

Verify your Stripe account by completing the KYC (Know Your Customer) requirements in the Dashboard. Go to Settings → Account details and follow the prompts to provide your legal name, date of birth, address, government-issued ID, and business details. Stripe needs this information to comply with financial regulations before you can receive payouts.

## Completing Stripe Account Verification (KYC)

Stripe is required by financial regulations to verify the identity of account holders. This Know Your Customer (KYC) process involves providing personal information, business details, and sometimes identity documents. Until verification is complete, your account may have limited functionality — such as restricted payouts or charge limits. This guide walks you through every step.

## Before you start

- A Stripe account
- A government-issued photo ID (passport, driver's license, or national ID)
- Your business registration documents (if applicable)
- Your bank account details for payouts

## Step-by-step guide

### 1. Check what verification is needed

Log in to the Stripe Dashboard. If verification is required, you will see a banner at the top or a notification in Settings → Account details. The requirements section lists exactly what information Stripe needs.

**Expected result:** You see a list of required items such as personal information, business details, or document uploads.

### 2. Provide personal information

Navigate to Settings → Account details → Personal details. Enter your legal first name, last name, date of birth, and home address. This information must match your government-issued ID exactly.

**Expected result:** Your personal details are saved and Stripe begins verifying them.

### 3. Upload identity documents

If Stripe requests identity verification, go to Settings → Account details and click the document upload prompt. Upload a clear photo of the front (and back if applicable) of your government-issued ID. Accepted documents include passports, driver's licenses, and national ID cards.

**Expected result:** Your document is uploaded. Stripe typically reviews it within 1-2 business days.

### 4. Provide business information

For business accounts, go to Settings → Account details → Business details. Enter your business legal name, tax ID or EIN, business address, and industry. If you are a sole proprietor, you may use your personal details.

**Expected result:** Your business details are saved. Stripe may request additional documents like articles of incorporation for certain business types.

### 5. Add a bank account for payouts

Go to Settings → Payouts → Bank accounts and add your bank account. Stripe needs this to send you your funds. In some countries, Stripe may verify the bank account with a small test deposit.

**Expected result:** Your bank account is added and verified. Payouts are enabled once all other requirements are also met.

### 6. Monitor verification progress

After submitting all required information, check Settings → Account details for verification status. You can also check programmatically using the Accounts API. Stripe sends email notifications when verification is complete or if additional information is needed.

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

async function checkVerification() {
  const account = await stripe.accounts.retrieve();
  console.log('Charges enabled:', account.charges_enabled);
  console.log('Payouts enabled:', account.payouts_enabled);
  console.log('Currently due:', account.requirements.currently_due);
  console.log('Pending verification:', account.requirements.pending_verification);
}

checkVerification();
```

**Expected result:** All requirements are met, charges_enabled and payouts_enabled are both true.

## Complete code example

File: `check-verification.js`

```javascript
// check-verification.js
// Monitor Stripe account verification status

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

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

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

    const reqs = account.requirements;

    if (reqs.pending_verification.length > 0) {
      console.log('Pending verification (Stripe is reviewing):');
      reqs.pending_verification.forEach(r => console.log('  -', r));
    }

    if (reqs.currently_due.length > 0) {
      console.log('Action required:');
      reqs.currently_due.forEach(r => console.log('  -', r));
      if (reqs.current_deadline) {
        const deadline = new Date(reqs.current_deadline * 1000);
        console.log('  Deadline:', deadline.toLocaleDateString());
      }
    }

    if (reqs.errors && reqs.errors.length > 0) {
      console.log('Verification errors:');
      reqs.errors.forEach(e => {
        console.log(`  - ${e.requirement}: ${e.reason}`);
      });
    }

    if (
      reqs.currently_due.length === 0 &&
      reqs.pending_verification.length === 0 &&
      account.charges_enabled &&
      account.payouts_enabled
    ) {
      console.log('Account is fully verified and active.');
    }

    return account;
  } catch (err) {
    console.error('Error:', err.message);
  }
}

checkVerification();
```

## Common mistakes

- **Uploading a blurry or cropped photo of the ID** — undefined Fix: Ensure the entire document is visible, well-lit, and in focus. All four corners must be visible in the photo.
- **Using a nickname or abbreviated name instead of the legal name on the ID** — undefined Fix: Enter your name exactly as it appears on your government-issued ID — including middle names if present.
- **Waiting too long to complete verification** — undefined Fix: Complete requirements before their deadline. Stripe may restrict charges or payouts if deadlines are missed.
- **Providing business information for a personal account or vice versa** — undefined Fix: Select the correct account type (individual or company) in Settings. If you chose the wrong type, see the guide on switching account types.

## Best practices

- Complete verification as soon as you create your account to avoid delays when you start processing payments
- Keep your government-issued ID handy — Stripe may request re-verification periodically
- Monitor the account.updated webhook for real-time verification status changes
- If verification fails, read the error reason carefully and resubmit with corrected information
- For business accounts, prepare your tax ID, registration number, and proof of address in advance
- If you encounter complex verification issues with multiple accounts or entity structures, RapidDev can help navigate the process

## Frequently asked questions

### How long does Stripe verification take?

Most verifications complete within minutes to a few hours. Document reviews may take 1-2 business days. In rare cases, additional review can take up to a week.

### What documents does Stripe accept for identity verification?

Stripe accepts passports, driver's licenses, and government-issued national ID cards. The document must be valid (not expired) and clearly readable.

### Can I accept payments before verification is complete?

In many countries, Stripe allows you to accept a limited amount of payments before full verification. However, payouts are typically held until verification is complete.

### What happens if my verification fails?

Stripe will tell you the specific reason for failure in the Dashboard or via the API requirements.errors field. Common reasons include blurry documents, name mismatches, or expired IDs. Fix the issue and resubmit.

### Do I need to verify again if I change my business information?

Significant changes like a new legal name, business type, or ownership structure may trigger re-verification. Minor updates like address changes usually do not.

---

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