Stripe terminated my account for a Terms of Service violation
Rejected for violating Stripe's Services Agreement. The account was terminated for a terms-of-service violation. Usually that means operating a prohibited or restricted business, selling items different from what was declared, or unacceptable marketing claims.
What this state actually is
Despite how it reads, this code is rarely about the legal agreement in the abstract. In practice it almost always means your business, or something on your website, was matched to a category on Stripe's restricted-businesses list. That matters, because it makes this the most appealable of the rejection codes: if the offending category is a side product line you can drop, there is a real case to make. If it is the thing you sell, no amount of rewording will help and your effort is better spent finding a processor that underwrites the category.
How to confirm this is your code
Stripe exposes the code in the requirements.disabled_reason field of your
Account object. Check it with a direct API call,
GET /v1/accounts/{ACCOUNT_ID}, or connect
Opsidion read-only and it reads the field for you, along with the
verification errors, capability state, and 90 days of risk signals that explain
why Stripe set it. The dashboard banner usually paraphrases this code, but the
field itself is the source of truth.
What puts an account in this state
Roughly in order of how often we see each one:
- A prohibited or restricted category detected on the website attached to your business profile, including on pages you forgot were public, like an old blog post or a staging subdomain.
- Selling into a restricted category without meeting its conditions: supplements with disease claims, CBD outside the approved programme, trials that auto-convert without the required disclosures.
- A declared business type that does not match what the site actually sells. Declaring one thing and operating another is itself a violation, separate from whatever the category rules say.
- Marketing copy that trips the risk review even when the product is fine: outcome guarantees, income claims, miracle or medical language.
The playbook
- Compare your actual products, website copy, and fulfillment model against [Stripe's restricted businesses list](https://stripe.com/legal/restricted-businesses). The website findings below may pinpoint the category.
- If the violating product line is separable, remove it entirely, then appeal via the dashboard notice with the cleaned-up site.
- If it's your core business, move to a processor that supports the category rather than appealing.
What to have ready before you respond
Every round trip with Stripe costs days, so the goal is to make the first reply the complete one:
- A full crawl of your own site as Stripe would see it, including subdomains, PDFs, and any page still reachable that you thought was retired.
- The termination email. The policy family it names is the closest thing to a specific charge you will get.
- Documentation that supports the category's requirements if you meet them: licences, lab certificates, prescriber flows, disclosure screenshots.
- Revenue split by product line, if the violation is confined to one. An appeal that shows the offending line is 3% of volume and already removed is materially stronger than one that asserts it.
What makes it worse
The avoidable mistakes. Each of these turns a slow problem into a harder one:
- Quietly deleting the offending pages and appealing as though they were never there. Stripe screenshots what it finds; a denial that contradicts their evidence ends the conversation.
- Rewriting the copy but keeping the product. Category screening keys off what you sell, not only how you describe it, and the next review finds it again.
- Appealing before the fix is live. One appeal is read carefully; the second is read much less carefully. Remove the products, publish the disclosures, then write.
Typical timeline
Appeal viable if the violation is separable
One warning that applies to every rejected.* code: do not
open a fresh Stripe account for the same business. Stripe detects it quickly,
re-terminates, and repeat evasion is how merchants end up on the card networks' MATCH
list, which blocks onboarding at other processors for five years.
Get the full diagnosis, not just the code
The code tells you the category; it doesn't tell you which charge pattern, website issue, or verification field caused it. Opsidion's $49 diagnosis ranks every probable cause from your account's own signals, and auto-refunds if it finds nothing assessable.
Frequently asked
What does rejected.terms_of_service mean on a Stripe account?
The account was terminated for a terms-of-service violation. Usually that means operating a prohibited or restricted business, selling items different from what was declared, or unacceptable marketing claims.
How do I fix a Stripe account with disabled_reason rejected.terms_of_service?
Compare your actual products, website copy, and fulfillment model against [Stripe's restricted businesses list](https://stripe.com/legal/restricted-businesses). The website findings below may pinpoint the category. If the violating product line is separable, remove it entirely, then appeal via the dashboard notice with the cleaned-up site. If it's your core business, move to a processor that supports the category rather than appealing.
How long does rejected.terms_of_service take to resolve?
Appeal viable if the violation is separable
What causes a Stripe account to get rejected.terms_of_service?
A prohibited or restricted category detected on the website attached to your business profile, including on pages you forgot were public, like an old blog post or a staging subdomain. Selling into a restricted category without meeting its conditions: supplements with disease claims, CBD outside the approved programme, trials that auto-convert without the required disclosures. A declared business type that does not match what the site actually sells. Declaring one thing and operating another is itself a violation, separate from whatever the category rules say. Marketing copy that trips the risk review even when the product is fine: outcome guarantees, income claims, miracle or medical language.
What documents do I need for a rejected.terms_of_service restriction?
A full crawl of your own site as Stripe would see it, including subdomains, PDFs, and any page still reachable that you thought was retired. The termination email. The policy family it names is the closest thing to a specific charge you will get. Documentation that supports the category's requirements if you meet them: licences, lab certificates, prescriber flows, disclosure screenshots. Revenue split by product line, if the violation is confined to one. An appeal that shows the offending line is 3% of volume and already removed is materially stronger than one that asserts it.
What should I avoid doing after getting rejected.terms_of_service?
Quietly deleting the offending pages and appealing as though they were never there. Stripe screenshots what it finds; a denial that contradicts their evidence ends the conversation. Rewriting the copy but keeping the product. Category screening keys off what you sell, not only how you describe it, and the next review finds it again. Appealing before the fix is live. One appeal is read carefully; the second is read much less carefully. Remove the products, publish the disclosures, then write.
What to read next
- Prohibited business categoriesif the match is here, the account is not recoverable and the useful question is which processor underwrites it
- Restricted business categoriesif the match is here instead, meeting the category's conditions is a real appeal route
- Marketing language that triggers reviewsthe most common violation with no category attached at all
- Why is my Stripe account restricted? the overview this page sits under: every restriction state, what causes each one, and the order to work through them
Related codes
rejected.listed: Rejected: matched a prohibited-persons or sanctions listrejected.incomplete_verification: Rejected because verification was never completedrejected.other: Rejected for unspecified risk reasons- All disabled_reason codes