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.
Prerequisites
- 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
Check what verification is needed
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.
Provide personal information
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.
Upload identity documents
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.
Provide business information
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.
Add a bank account for payouts
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.
Monitor verification progress
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.
1const Stripe = require('stripe');2const stripe = Stripe(process.env.STRIPE_SECRET_KEY);34async function checkVerification() {5 const account = await stripe.accounts.retrieve();6 console.log('Charges enabled:', account.charges_enabled);7 console.log('Payouts enabled:', account.payouts_enabled);8 console.log('Currently due:', account.requirements.currently_due);9 console.log('Pending verification:', account.requirements.pending_verification);10}1112checkVerification();Expected result: All requirements are met, charges_enabled and payouts_enabled are both true.
Complete working example
1// check-verification.js2// Monitor Stripe account verification status34const Stripe = require('stripe');5const stripe = Stripe(process.env.STRIPE_SECRET_KEY);67async function checkVerification() {8 try {9 const account = await stripe.accounts.retrieve();1011 console.log('=== Verification Status ===');12 console.log('');13 console.log('Account:', account.id);14 console.log('Charges enabled:', account.charges_enabled);15 console.log('Payouts enabled:', account.payouts_enabled);16 console.log('');1718 const reqs = account.requirements;1920 if (reqs.pending_verification.length > 0) {21 console.log('Pending verification (Stripe is reviewing):');22 reqs.pending_verification.forEach(r => console.log(' -', r));23 }2425 if (reqs.currently_due.length > 0) {26 console.log('Action required:');27 reqs.currently_due.forEach(r => console.log(' -', r));28 if (reqs.current_deadline) {29 const deadline = new Date(reqs.current_deadline * 1000);30 console.log(' Deadline:', deadline.toLocaleDateString());31 }32 }3334 if (reqs.errors && reqs.errors.length > 0) {35 console.log('Verification errors:');36 reqs.errors.forEach(e => {37 console.log(` - ${e.requirement}: ${e.reason}`);38 });39 }4041 if (42 reqs.currently_due.length === 0 &&43 reqs.pending_verification.length === 0 &&44 account.charges_enabled &&45 account.payouts_enabled46 ) {47 console.log('Account is fully verified and active.');48 }4950 return account;51 } catch (err) {52 console.error('Error:', err.message);53 }54}5556checkVerification();Common mistakes when verifying your Stripe account
Why it's a problem: Uploading a blurry or cropped photo of the ID
How to avoid: Ensure the entire document is visible, well-lit, and in focus. All four corners must be visible in the photo.
Why it's a problem: Using a nickname or abbreviated name instead of the legal name on the ID
How to avoid: Enter your name exactly as it appears on your government-issued ID — including middle names if present.
Why it's a problem: Waiting too long to complete verification
How to avoid: Complete requirements before their deadline. Stripe may restrict charges or payouts if deadlines are missed.
Why it's a problem: Providing business information for a personal account or vice versa
How to avoid: 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
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
Walk me through the Stripe account verification (KYC) process step by step. What personal and business information does Stripe need? What documents are accepted? How long does verification take? Also show me a Node.js script to check my verification status via the API.
Write a Node.js script that checks my Stripe account verification status, lists any pending requirements, shows verification errors, and indicates whether my account is fully active for charges and payouts.
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.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation