Skip to main content
RapidDev - Software Development Agency
stripe-guide

How to resolve 'account cannot make live charges' error

The 'Your account cannot currently make live charges' error means your Stripe account hasn't completed the required KYC (Know Your Customer) verification. Stripe blocks live payments until you provide identity documents, business information, and banking details. Fix it by going to Dashboard → Settings → Account details and completing all outstanding requirements. This process typically takes 1-2 business days.

What you'll learn

  • Why Stripe blocks live charges on unverified accounts
  • How to find and complete all outstanding verification requirements
  • What information and documents Stripe needs
  • How to check account status programmatically
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner5 min read15 minutesAll Stripe accountsMarch 2026RapidDev Engineering Team
TL;DR

The 'Your account cannot currently make live charges' error means your Stripe account hasn't completed the required KYC (Know Your Customer) verification. Stripe blocks live payments until you provide identity documents, business information, and banking details. Fix it by going to Dashboard → Settings → Account details and completing all outstanding requirements. This process typically takes 1-2 business days.

Why Your Stripe Account Cannot Make Live Charges

Stripe is legally required to verify the identity of everyone who accepts payments through their platform. Until you complete this verification (KYC), your account is restricted to test mode only. The 'cannot currently make live charges' message appears when you try to use a live API key (sk_live_) before verification is complete. This is not a bug — it's a regulatory requirement. The fix is straightforward: complete all pending verification steps in your Dashboard.

Prerequisites

  • A Stripe account with access to the Dashboard
  • Government-issued photo ID (passport, driver's license)
  • Business registration documents (if applicable)
  • Bank account details for receiving payouts

Step-by-step guide

1

Check what requirements are pending

Log in to the Stripe Dashboard. Look for a banner at the top saying 'Complete your account information' or 'Action required'. Go to Settings → Account details to see all outstanding requirements listed in order.

Expected result: You can see a list of all pending verification requirements: personal info, business info, identity documents, and bank account.

2

Complete your personal information

Fill in your full legal name (must match your ID exactly), date of birth, address, phone number, and the last 4 digits of your Social Security Number (US) or equivalent tax ID. For non-US accounts, provide the relevant national identifier.

Expected result: Personal information section shows as complete with a green checkmark.

3

Provide business information (if applicable)

If you selected a business account type, provide your business name, tax ID (EIN for US businesses), business address, industry type, and website URL. The website must be live and match the business described in your account.

Expected result: Business information section completed. Stripe may take additional time to verify business details.

4

Upload identity verification documents

Upload a clear photo of your government-issued ID. Stripe accepts passports, driver's licenses, and national ID cards. For business accounts, you may also need to upload a business registration certificate or articles of incorporation.

Expected result: Identity documents uploaded. Stripe begins automated review (may complete in minutes) or manual review (1-2 business days).

5

Add a bank account for payouts

Go to Settings → Payouts → Add bank account. Enter your bank routing number, account number, and account holder name. Stripe may make small verification deposits that you'll need to confirm.

Expected result: Bank account added and verified. This is required before Stripe enables live charges.

6

Verify account status via the API

After completing all steps, verify your account is enabled for live charges by checking the charges_enabled flag via the API.

typescript
1const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
2
3const account = await stripe.accounts.retrieve();
4
5console.log('Charges enabled:', account.charges_enabled);
6console.log('Payouts enabled:', account.payouts_enabled);
7console.log('Currently due:', account.requirements.currently_due);
8console.log('Past due:', account.requirements.past_due);

Expected result: charges_enabled is true and currently_due is an empty array, confirming your account can process live payments.

Complete working example

check-account-status.js
1require('dotenv').config();
2const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
3
4async function checkAccountStatus() {
5 try {
6 const account = await stripe.accounts.retrieve();
7
8 console.log('=== Stripe Account Status ===');
9 console.log('Account ID:', account.id);
10 console.log('Charges enabled:', account.charges_enabled);
11 console.log('Payouts enabled:', account.payouts_enabled);
12 console.log('Details submitted:', account.details_submitted);
13
14 if (account.requirements.currently_due.length > 0) {
15 console.log('\n--- Action Required ---');
16 console.log('Currently due:', account.requirements.currently_due);
17 }
18
19 if (account.requirements.past_due.length > 0) {
20 console.log('\n--- URGENT: Past Due ---');
21 console.log('Past due:', account.requirements.past_due);
22 }
23
24 if (account.requirements.errors.length > 0) {
25 console.log('\n--- Errors ---');
26 account.requirements.errors.forEach(err => {
27 console.log(` ${err.requirement}: ${err.reason}`);
28 });
29 }
30
31 if (account.charges_enabled && account.payouts_enabled) {
32 console.log('\nAccount is fully verified and ready for live charges.');
33 } else {
34 console.log('\nAccount is NOT ready for live charges. Complete the requirements above.');
35 }
36 } catch (err) {
37 console.error('Error checking account:', err.message);
38 }
39}
40
41checkAccountStatus();

Common mistakes when resolving 'account cannot make live charges' error

Why it's a problem: Trying to use live API keys before completing verification

How to avoid: Complete all verification requirements in Dashboard → Settings → Account details first. Use test keys (sk_test_) for development while verification is pending.

Why it's a problem: Providing a name that doesn't match your ID exactly

How to avoid: Your legal name in Stripe must match your government-issued ID exactly, including middle names and suffixes.

Why it's a problem: Not providing a live website URL for business verification

How to avoid: Stripe needs to verify your business. Provide a working website URL. Even a simple landing page is acceptable.

Why it's a problem: Skipping the bank account setup

How to avoid: Stripe requires a bank account for payouts before enabling live charges, even if you don't plan to receive payouts immediately.

Best practices

  • Complete verification immediately when creating your Stripe account — don't wait until launch day
  • Use test mode (sk_test_) for development while verification is processing
  • Ensure all personal information matches your government-issued ID exactly
  • Have a live website ready before starting business verification
  • Check account.requirements.currently_due programmatically to monitor status
  • Set up account.updated webhooks to get notified when verification status changes
  • Keep copies of all submitted documents for reference

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

Write a Node.js script that retrieves a Stripe account's verification status, lists all currently_due and past_due requirements, shows any verification errors with their reasons, and prints whether charges and payouts are enabled. Format the output clearly for debugging.

Stripe Prompt

Create a Stripe account verification status checker in Node.js that retrieves the account, checks charges_enabled and payouts_enabled, lists outstanding requirements, and displays any verification errors with actionable information.

Frequently asked questions

How long does Stripe account verification take?

Most verifications complete within 1-2 business days. Simple verifications with clear documents may be approved automatically within minutes. Complex business verifications or additional document requests can take up to a week.

Can I process payments in test mode while verification is pending?

Yes. Test mode (sk_test_) works regardless of verification status. Use test mode for development and testing while waiting for live mode approval.

What happens if I ignore the verification requirements?

Stripe will escalate the requirements from 'currently_due' to 'past_due', eventually disabling your account entirely. You won't be able to process any payments or receive payouts until requirements are met.

Do I need a business to use Stripe?

No. Stripe supports individual (sole proprietor) accounts. You only need personal identity verification, not business documents. Select 'Individual' as your business type during account setup.

Can I speed up the verification process?

Submit clear, high-quality documents, ensure all information matches exactly, and provide all requested details in one go. Incomplete or mismatched information triggers additional review cycles.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.