Prohibited business type, and you sell contact lenses. Migrate everything to a new Shopify store.
You applied for Shopify Payments and got a rejection that said your business type is not supported. You then searched Shopify's help centre for the prohibited list and found nothing, because Shopify does not publish one. Here is why that matters, and what to do. Shopify Payments is underwritten by a payment processor — Stripe, PayPal or Adyen, depending on your country. Shopify's own terms defer to the processor's underwriting rules. That means the restriction you hit is not Shopify's rule. It is the processor's rule, and it lives in a document you need to find and read. The operative document is your processor's restricted-businesses list. That list is not a vague policy. It is a specific set of business types, and if you can prove you do not belong in it, or that you belong in a carve-out, you have a move. If you do belong in it, a third-party gateway — one with a different acquiring bank — may accept you. Find out which one you hit first.
Move all of it into a new store, from $247
One-time packages, no per-record metering, no quotes. The order form unlocks the moment you pay, counts are matched against your old store, and the entire migration then runs a second time — the second pass has to create nothing.
What you are looking at
- "Your business type is not currently supported" — with no link to which list that came from
- Shopify help articles about Stripe's restricted list, but no link to Stripe's actual list — and Stripe's list changes
- Confusion about whether this is a Shopify decision or a processor decision
- Assumption that switching to another Shopify theme or store will reset it
- Search results for "Shopify prohibited business" returning other merchants' stories, not policy
Time matters here, but not for the reason you think. The decision is final unless you have new facts. A processor will not reconsider on the same evidence. But if you can submit a real carve-out — a specific merchant code, a subcategory exception, a proof of age or licence — the window to reapply stays open only as long as your business looks the same to their automated screening. The move is to find which processor will take you, and that is urgent because the longer you operate without a payment gateway, the harder it becomes to get one.
Why it happened — specifically for contact lenses
Shopify Payments is underwritten by Stripe, and Stripe's restricted-businesses list includes contact lenses because they are prescription-only medical devices in the US regardless of whether they are sold as corrective or cosmetic. The primary trigger is the prescription-verification requirement itself — you must confirm a valid prescription before dispatch, and that infrastructure is absent from most mainstream payment platforms. The secondary trigger is the subscription model: contact lenses are a heavy-replenishment category, and recurring billing on prescription-gated products requires underwriting that assumes ongoing legal compliance, not just a one-time sale.
Rule out the easy fix first — then deal with the real one
Rule this out first. Shopify does not document a platform-specific route for contact lenses. What merchants commonly try is connecting a high-risk acquirer directly to Shopify and assuming the prescription verification happens in their backend. It does not. Shopify Payments declined you because the category itself — not your specific store — sits on the restricted list. A high-risk acquirer will ask you separately whether you have a documented prescription-verification workflow, whether you retain proof of that verification, and how your subscription engine handles renewal gates. Those answers determine whether you qualify at all, independent of Shopify's decision.
It only helps if all of these are true:
- Your store has a live, documented prescription-verification process before any lens ships.
- You retain proof of the valid prescription for every customer and every order.
- Your subscription system enforces expiry rules and re-verification gates for renewals.
- You can document your source of supply and your distributor agreements.
If any one of them does not hold, you are where everyone else on this page is: you need a store built around a gateway that will actually accept you — and everything you have built has to move into it without losing the catalog, the customers, the order history or the rankings.
What this means for a business like yours
🔁 Recurring billing is a large share of revenue
Shopify Payments delegates to your country's processor (Stripe, PayPal or Adyen). If you lose that processor, your stored payment methods stop working immediately, and every subscriber's next billing attempt fails. Those stored methods are held by the processor, not by you, and they cannot be exported or moved. A subscription business loses new orders and then bleeds existing revenue every day the account stays closed. Restarting means either a processor-to-processor migration arranged in advance, or asking thousands of customers to re-enter a card — which never fully recovers. Before anything else, deal with your subscription book and whether your replacement processor can take it on.
📦 Thousands of SKUs, deep variant matrices, distributor feeds
Shopify Payments does not publish its own prohibited list — it delegates to your country's processor (Stripe, PayPal or Adyen). If that processor prohibits your category, you cannot simply re-list the same products on a new store. You may need to remove, relabel or geo-block thousands of SKUs. With deep variant matrices and distributor feeds, a hand-rebuild is impossible. Before you approach a new processor, confirm they accept your category and understand what catalog changes they might require. Then cost the rebuild: extraction, filtering, relabelling, re-upload to a new store, and a second run to verify counts. That work is separate from payment processing, but it is not optional. Shopify's CSV export cannot carry variants, metafields, videos or discounts — you will need third-party tools to move the full catalog intact.
What you actually have to fix
Underwriters do not change their minds because you asked. They change them because the facts changed. For contact lenses, these are the facts that move the decision:
Document your prescription-verification process in writing
This is the single highest-yield fix. An acquirer will not approve you without a clear, documented proof-of-prescription workflow — how you verify the prescription is valid, whose credentials you check it against, how long you keep the verification record, and what you do if a prescription is expired or fake. Write this down as a process document with screenshots of your verification screen, your data retention policy, and your staff training. Acquirers need to see that this is not a hope or a suggestion; it is a gated control before money moves.
Audit your subscription renewal logic for prescription gates
Prescription lenses cannot legally renew on autopilot. Build a workflow that requires re-verification or at minimum a customer action to confirm the prescription is still valid before a renewal order is charged. Many acquirers will decline you if you ship renewals without this gate in place. Document how many days before expiry you notify the customer, and what happens if they do not re-verify.
Gather your distributor agreements and source documentation
High-risk acquirers scrutinise the supply chain for medical devices. You will need to show invoices or distribution agreements proving you source from licensed distributors, not grey-market wholesalers. If you manufacture lenses in-house, gather your manufacturing credentials and regulatory filings. Acquirers see diversion risk and counterfeit risk on prescription products; clear source documentation is the fastest way to rule it out.
Assemble your processing history and chargeback record
If you have ever held a merchant account — whether with Shopify Payments, a prior processor or a bank — pull 12–24 months of statements and chargeback logs. Acquirers will request this and use it to gauge your risk profile. If your prior account was closed for chargeback abuse or fraud, you will need to explain what changed. Honesty and documentation matter more than perfection here.
What underwriting will ask you for
- A written description of your prescription verification workflow, including how you confirm validity and where you store proof.
- Your subscription-billing logic: specifically how you gate renewal orders and enforce re-verification before dispatch.
- Proof that you source lenses from licensed distributors; distributor agreements or invoices.
- Your refund and chargeback policy, especially for prescription-gated products.
- Processing history and bank statements from the past 12–24 months if you have ever held a merchant account.
- Customer complaints or regulatory correspondence, if any.
- Your business registration and reseller license for medical devices.
Getting underwritten for contact lenses
High-risk acquiring is an entire industry that exists for businesses Stripe declines, and several of them publicly underwrite contact lenses. What none of them will tell you up front is the number that actually matters: what your business gets offered, once they have seen your volume, your claims and your history. Rate, reserve and settlement terms vary enormously between applicants in the same category.
Get real quotes from high-risk processors that accept contact lenses
Six taps and three details. We put it in front of the high-risk acquirers that actually underwrite your category and come back with what they will offer you — rate, reserve and settlement terms — so you are comparing real numbers instead of cold-emailing brokers for a fortnight.
The recovery playbook
- Find your processor and read its actual restricted listFirst: confirm whether you are in Shopify Payments or applying now. If you are in a Shopify store already, your processor is in your admin under Settings → Payment providers. If you are applying, your processor is determined by your country — see shopify.com/legal/processor-list. Once you have the name, find the processor's restricted-businesses document. For Stripe, this is at stripe.com/docs/connect/restricted-businesses. Do not rely on secondhand descriptions or forum posts. Read the actual list. Your business type may be listed with a carve-out you did not know existed.
- Check whether you meet a documented exceptionRestricted lists often include carve-outs. A category like "adult" may permit age-gating and ID verification. A category like "financial services" may permit licensed brokers but not unlicensed advisors. A category like "gambling" may permit lottery retailers but not online betting. Find the line that describes your business and read every word after it. If there is a condition you can meet — a specific merchant code, a government licence, a regulatory exemption — note it. This is the only path to reapplication on the same processor.
- Reapply with documentation of the exceptionIf you found an exception that applies to you, gather the documentation it requires: a licence, a registration, a certification, a merchant code, proof of age-gating, or whatever the list specifies. Submit a new application to the same processor with that documentation attached and a short note saying: "I believe I meet the exception at [the exact line]. My documentation is attached." Include the reference to the specific exception in the list itself. Do not argue that the rule is unfair. Do not submit a general appeal. The processor's automated screening will reject you again unless you are answering a specific carve-out.
- Get a verified copy of your store — before applying elsewhereIf the processor will not move, you will move to a different gateway. This is the moment to export a full backup of your store, before anything else changes. You need your catalog, your customers, your order history, your SEO metadata, your theme settings, your discount codes — everything. Shopify's CSV export cannot carry metafields, orders, gift card codes, videos, menus, discounts or redirects. That is the strongest reason to move to a new store built around a processor that will accept you: a fresh build with a proper migration handles the things CSV cannot. Get the backup now, while you have access and the store is still live.
- Move to a new store with a processor that accepts your businessOnce you know which processor rejected you, and whether you can appeal it, find a payment gateway that accepts your category. This means a different processor, which usually means a new Shopify store built around that gateway. A migration service can move your catalog, images, SEO data, theme, customers, orders and other data into the new store, then run the migration twice and compare counts to check nothing was lost. The move costs money and time, but it is the legitimate path from a misfit processor to a fit one. You are not hiding anything; you are disclosing your category truthfully to a processor who will accept it.
And then there is the part that actually loses businesses
If you do need a new store, the payments problem turns out to be the easy half. This is what is sitting in your current store right now, and what happens to each piece when someone tries to move it by hand:
Why this category in particular
Contact lens data is dangerous to move by hand because prescription parameters and renewal metadata live in metafields and custom product attributes. Prescription power, axis, diameter, base curve and expiry dates are stored as reference-type or text metafields that a CSV export cannot carry at all. If they are migrated naively and mapped wrong, a customer reorders with the wrong lens specifications — a medical device error that creates liability and chargebacks. Subscription renewal metadata is equally fragile: migration tools often lose the gate logic that enforces re-verification before a renewal order charges.
| What you own | How much of it | What breaks doing it by hand | What we do instead |
|---|---|---|---|
| Product images | 3,600images≈ 15 hrsbulk re-upload, ~15 sec each | By handthe CSV carries image URLs and alt text, but they point at your OLD store's CDN — so the moment the old store goes, every image 404s. Re-upload and Shopify appends a dedupe suffix to the filename, which breaks every theme section and product description that referenced the original URL | Automatedevery file re-uploaded through the API with its alt text and variant attachment intact, its content type preserved so image-restricted fields still accept it, and every reference to the old URL rewritten |
| Product descriptions | 600descriptions≈ 2 hrsone pass to repair inline image links — the CSV carries the text | By handdescriptions are full of inline images and links pointing at the old store's CDN. Paste them into the new store and the text survives perfectly while every embedded image quietly dies — which you usually discover from a customer, not from a report | Automatedbodies copied verbatim, then a second pass rewrites every source-CDN URL inside them to the re-uploaded file on the new store |
| Product attributes & variants | 4,800variants≈ 45 minthe CSV carries these; the time is verifying option order | By handoption ORDER is part of the product's identity. Rebuild "Size, Colour" as "Colour, Size" and every theme swatch, saved customer URL and app that keys on variant position breaks — silently, because the product page still renders | Automatedvariants upserted by SKU with option names and order preserved, so swatches, deep links and app data keep working |
| Metafields & metaobjects | 10,800metafields≈ 72 hrsonly the reference, JSON and metaobject fields, ~1 min each | By handthe product CSV carries simple text and number metafields — but not metaobjects, and not reference or JSON types, which is exactly where app data and theme content live. Reference fields are the real trap: copy the value and it still points at objects in the OLD store, so the page renders and the custom block is silently empty | Automatedwritten in dependency order after their targets exist, with embedded references re-pointed at the new store's objects — and any value whose reference cannot be resolved is dropped rather than written broken |
| SEO data & redirects | 762records≈ 3 hrsredirects one at a time, plus a handle audit | By handany handle that changes becomes a dead URL with no redirect, and existing 301s are not in the product CSV at all. Years of accumulated ranking and backlinks end up pointing at pages that no longer resolve — the most expensive thing on this page to get wrong, and the slowest to notice | AutomatedSEO titles, meta descriptions and handles carried across, and every existing 301 recreated, so nothing that used to rank starts 404ing |
| Your custom theme | 1theme≈ 6 hrs2–10 hrs depending on how customised it is | By handa theme is not just its files. The settings, section content and block ordering are stored against the store, so a file copy gives you the layout and none of the content. Hardcoded asset URLs and tracking snippets also still point at the old store | Automatedyour live theme pulled and pushed as-is, then scanned for tracking snippets and hardcoded URLs that need re-pointing |
| Product videos | 12videos≈ 48 minre-upload and re-attach, ~4 min each | By handthe product CSV does not carry video or 3D media, so every one is a manual re-upload. They also cannot be pulled straight from a remote URL — the bytes have to be downloaded and staged first, and a wrong content type lands the file as a generic attachment that media-restricted fields then reject | Automatedvideo bytes downloaded, staged through a proper upload target, re-attached to the right product, and verified as processed rather than silently failed |
| Customers | 2,800customers≈ 2 hrsCSV import, then cleaning up the rows that fail | By handthe importer works, but marketing consent is the exposure: the CSV carries the current opt-in state and NOT the timestamp or source behind it. Re-opting someone in is a compliance breach, dropping them burns list revenue you paid for, and you cannot prove which happened afterwards. Default-address designation is also lost | Automatedcustomers upserted by email with every address, the default-address designation, and email and SMS consent states and timestamps preserved exactly as they were |
| Order history | 8,500orders≈ 8 hrsa paid third-party importer, plus a day of mapping and reconciliation | By handShopify's own CSV importer cannot create orders at all, so the hours here assume you buy a third-party importer — key them in by hand instead and 9,400 orders is closer to 390 hours, which is why nobody does that and why order history is simply abandoned in most DIY moves. Then support cannot answer a warranty claim, repeat-purchase segments are empty, and every returning-customer flow starts from zero. Getting the mapping wrong duplicates orders or re-dates them to today, and both are worse than not importing at all | Automatedfull order history recreated through the API with line items, properties, customers re-associated, original dates and tracking numbers intact |
| Navigation menus | 4menus≈ 1 hrsabout an hour to rebuild and relink them all by hand | By handmenu items store resource IDs, not paths, so nothing about them is portable — every link has to be re-pointed at the equivalent collection, page or product on the new store | Automatedmenus rebuilt with their nesting, and every item re-pointed at the equivalent object on the new store |
| Discount codes | 45discounts≈ 1 hrsabout 1 hr via the discount CSV, or ~3 hrs rebuilt by hand | By handthe discount CSV covers basic codes, but automatic discounts, quantity breaks and combination rules are not in it and have to be reconstructed by hand. A subtly wrong rule is worse than a missing one, because nobody notices until it has been over-discounting for a fortnight | Automateddiscounts recreated through the API with their rules, usage limits and dates intact, including automatic and free-shipping types |
| Blogs & pages | 42articles & pages≈ 3 hrsrecreated one at a time, ~4 min each | By handno CSV route for either. Articles also have no SEO fields of their own — their title and description tags live in metafields — so a hand-rebuilt blog loses its SEO even when every word of the text is right | Automatedarticles and pages recreated with authors, tags and publish dates, their SEO written to the metafields Shopify actually stores it in, and inline image URLs rewritten |
| Apps & app data | 8apps≈ 8 hrsabout 1 hr per app to reinstall, reconfigure and re-test | By handmost app data lives in metafields on your products and customers, so reinstalling the app gets you an empty app: reviews gone, subscription plans gone, loyalty balances gone, bundles gone. Flows and automations have to be rebuilt by hand and re-tested, and anything with its own billing has to be re-subscribed | Automatedthe metafield data your apps rely on migrates with the products and customers it hangs off, so a reinstalled app finds its data waiting instead of an empty store |
See these numbers for YOUR store, free
The figures above are a typical store in your category. The demo scan connects read-only to yours and counts the real thing — every product, variant, image, customer, order and metafield — then tells you exactly what a migration would carry across. No card, and it never writes to your store.
▶ Run the free demo scanDoes this need a new company?
A new legal entity does not reset a MATCH listing, and MATCH will identify you for five years after closure regardless of what company name you file under. That said, you do not genuinely need a new entity for contact lenses. The issue is not your business structure; it is that Shopify Payments cannot underwrite this category at all, and a new company does not change that fact. Focus on finding an acquirer willing to serve prescription-device merchants, not on incorporation.
Frequently asked
Why did Shopify Payments decline me if I have a clean account and good volume?
Because Shopify Payments is underwritten by Stripe, and Stripe classifies contact lenses as a restricted business regardless of your individual track record. This is not a judgment on you; it is a blanket policy. Stripe does not acquire contact lenses in-house, and Shopify Payments inherits that policy. You need an acquirer that explicitly serves prescription-device merchants. Several publicly advertise this category, but you will need to apply and undergo their underwriting separately.
Which gateway should we connect if we switch processors?
The gateway is the straightforward part. Several high-risk acquirers that serve contact lenses front their processing through Authorize.net or other Shopify-supported gateways on a high-risk merchant account. The harder question is which acquirer will approve you at what rate and reserve. Most hold a 5–10% rolling reserve for 90–180 days on this category because prescription liability and chargeback rates are both higher than mainstream ecommerce. Rather than guess, use the quote form on this page to see who will underwrite you and at what terms.
Will our prescription data and subscription settings survive a store migration?
Prescription parameters and renewal gates are fragile in migration. If your current store holds lens power, axis, diameter, base curve, cylinder and expiry dates in metafields or custom attributes, a standard CSV export will lose them entirely. A proper migration tool must read those metafields from the Shopify API, map them to the new store's schema and re-test the subscription renewal logic to confirm the gate is enforced. Without this, customers will reorder the wrong lens specifications, which creates liability and chargebacks.
Do we need a new business entity to get approved by a different processor?
No. A new legal entity does not reset your MATCH listing or your processing history — acquirers can identify you for five years after closure regardless of company name. If your prior account was closed for chargebacks or fraud, a new entity will not hide that. Focus instead on addressing the specific compliance gaps an acquirer flags: prescription verification, subscription gates, supply-chain documentation. That will serve you far better than a costly rebrand.
Is there a Shopify Payments prohibited business list I can check?
No. Shopify Payments does not publish a list of prohibited business types. The payment processor for your country publishes one instead. Shopify's terms say the processor decides which categories are supported. If you were rejected, you need the processor's actual list, not Shopify's. You can find your processor at shopify.com/legal/processor-list, then search that processor's website for "restricted businesses".
Why did I get rejected if my business is legal?
Legal status and payment processor underwriting are different things. A processor may restrict a category for compliance, fraud, or chargebacks — not because it is illegal, but because the processor's risk profile does not cover it. Adult services, gambling, CBD, debt settlement and firearms are commonly restricted even where they are legal. The processor makes the call, and legality is not the only factor.
Can I reapply to the same processor?
Only if you have new facts. A processor will not reconsider on identical information. But if the restricted list includes a carve-out for your business — a specific merchant code, a licence requirement, an age-gating requirement — and you can document that you meet it, you can reapply with that evidence. Read the actual list line by line. Many merchants miss the exceptions because they are buried in small text.
What if I open a new store or company?
A new store on the same processor will be screened against the same criteria you just failed. A new company does not change your screening category. The processor is evaluating your business type and category, not your legal entity name. If Stripe rejected your business type as an individual, Stripe will reject it again when you apply as a limited company. The category itself is the issue, not your legal structure.
Can you turn Shopify Payments back on or move me to a different processor?
No. We cannot persuade a processor to accept your category or change their underwriting decision. What we do is help you move your entire store — catalog, customers, orders, SEO data, theme, everything — to a new store built around a processor that will accept your business type. We move the data, you provide the processor. The move is fixed price from £247, and we run the migration twice to compare counts against what was lost.
Move everything, verified twice, from $247
Pick a package and the migration order form unlocks immediately. Your existing store is only ever read from — we never write to it, so nothing you still have can be made worse. How the migration runs, step by step →