The pillar question
Why is my Stripe account restricted?
Short answer: Stripe writes the reason into your account — the
requirements.disabled_reason field on the Account object. There are about a
dozen possible codes, and they fall into four families: verification problems
(missing or failed identity/business information), risk reviews (dispute
rates, fraud signals, or your website triggered a manual look), rejections
(fraud, Terms of Service, or watchlist matches — mostly terminal), and
platform pauses (a platform you're connected to froze you, not Stripe).
Step 1 — Find your reason code
Don't guess from the email; Stripe's notices are deliberately generic. The authoritative answer lives in three places, from least to most precise:
- The dashboard banner — the red or amber notice at the top of your Stripe dashboard, and anything under the notifications bell. This tells you what is paused (charges, payouts, or both) and any information Stripe is waiting on.
- The restriction email — search your inbox for "Stripe" around the date things stopped. Rejection emails name the policy family; review emails link a questionnaire that gates the whole process.
- The
disabled_reasonfield — the machine-readable code on your Account object. You can read it with an API call (GET /v1/accounts→requirements.disabled_reason) or let Opsidion read it for you over read-only OAuth, alongside every other risk signal on the account.
Step 2 — Look up the code
Every code Stripe can set, what it actually means, and how recoverable it is. Click through for the full playbook on each.
| Code | Meaning | Outlook |
|---|---|---|
rejected.fraud | Stripe rejected the account for suspected fraud | Severe |
rejected.terms_of_service | Rejected for violating Stripe's Services Agreement | Severe |
rejected.listed | Rejected: matched a prohibited-persons or sanctions list | Severe |
listed | Account flagged by a watchlist match — under verification | Recoverable |
rejected.incomplete_verification | Rejected because verification was never completed | Severe |
rejected.other | Rejected for unspecified risk reasons | Severe |
under_review | Account is under Stripe review (not rejected) | Recoverable |
requirements.past_due | Required verification information is past due | Recoverable |
requirements.pending_verification | Stripe is verifying submitted information | Recoverable |
platform_paused | The platform paused this account | Recoverable |
action_required.requested_capabilities | Requested capabilities need additional information | Recoverable |
other | Disabled for reasons Stripe labels 'other' | Recoverable |
No code? Read the capability combination
Stripe pauses charge processing and payouts independently, and when
disabled_reason is empty, which one is off narrows the cause
considerably:
| State | Usual cause | First move |
|---|---|---|
Charges ✓ · Payouts ✕ | Funds review, bank verification, or payout hold | Check Balance → Payouts and bank account verification |
Charges ✕ · Payouts ✓ | Active risk review of the business itself | Answer the dashboard questionnaire the same day |
Charges ✕ · Payouts ✕ | Full restriction — see the disabled_reason code | Look up your code in the table above |
What put you on the risk team's desk in the first place
Restrictions rarely come out of nowhere. In the accounts we analyze, the triggers are consistently one of these, in rough order of frequency:
- Dispute rate over ~0.75% — Stripe's intervention threshold, with card-network monitoring programs starting at 0.9%. Sustained rates above these mean reserves, payout holds, and eventually termination.
- Issuer fraud signals — early fraud warnings (TC40/SAFE reports) and
declines coded
stolen_card,lost_card, orfraudulent. A cluster of these commonly precedes a pause. - Your website — Stripe screens it at onboarding and periodically after. Language matching a prohibited or restricted category, outcome-guarantee marketing, or missing refund/terms/contact pages all feed reviews.
- Verification gaps — required fields past due, documents that failed silently, or a payout bank that doesn't match the legal entity.
- Geographic anomalies — charges from sanctioned or unsupported countries, or the account being operated (logins, API traffic) from a different country than it's registered in. The latter is a documented review trigger that support rarely spells out.
Or let the engine read your account directly
Opsidion's diagnosis connects read-only, pulls your disabled_reason,
capability state, verification errors, 90 days of charge and dispute signals, and screens
your website — then ranks the probable causes with a fix for each. $49, and it refunds
itself automatically if it can't find an assessable cause.
Frequently asked
Why is my Stripe account restricted?
Stripe restricts accounts for a small set of reasons it records in the requirements.disabled_reason field of your account: overdue or failed identity verification, an active risk review, suspected fraud, a Terms of Service violation (usually a restricted or prohibited business category), a sanctions or MATCH-list match, or — for connected accounts — a pause by the platform you signed up through. Elevated dispute rates (above roughly 0.75%) and issuer fraud reports are the most common triggers for risk reviews.
How do I find the exact reason Stripe restricted my account?
Check three places: the banner and notifications in your Stripe dashboard, the email Stripe sent when the restriction was applied, and the machine-readable requirements.disabled_reason field on your Account object (visible via the API, or instantly via a read-only audit tool like Opsidion). The disabled_reason code is the authoritative answer — each code maps to a specific cause and fix.
How long does a Stripe restriction last?
It depends entirely on the reason code. Overdue verification (requirements.past_due) typically lifts within minutes to days of submitting the missing information. Risk reviews (under_review) usually resolve in days once you answer Stripe's questionnaire. Rejections (rejected.*) are mostly permanent, with remaining funds held 90–120 days to cover chargebacks before being paid out.
Can I open a new Stripe account after being restricted?
If your account was rejected, opening a new Stripe account for the same business violates Stripe's terms — it is detected quickly, re-terminated, and increases the risk of being placed on the card networks' MATCH list, which blocks you at other processors for five years. Appeal the original decision or move to a processor that underwrites your risk profile instead.
Why are my Stripe payouts paused but charges still working?
When Stripe pauses only payouts, the usual causes are pending identity or bank verification, a payout bank account whose name doesn't match the legal entity, or Stripe holding funds while it reviews recent activity. Check Balance → Payouts for a hold notice and Settings → Bank accounts for verification failures.