Shopify Payments terminated, and you sell self-defense products. Migrate everything to a new Shopify store.
The termination notice is shorter and colder than a deactivation: your Shopify Payments account has been permanently closed. You cannot reapply, cannot appeal, and cannot switch to a different Shopify Payments underwriter because there is only one — Stripe. What makes termination distinct from a deactivation is that you may now be reported to MATCH, the card networks' Terminated Merchant File. This is not automatic, and you will not be told it has happened. MATCH lists the people behind the business as well as the business itself, for five years, and every payment processor screens it when you apply. A deactivated account is a warning. A MATCH listing is a record. Most merchants do not know which has occurred, and that confusion drives the first ruinous mistake: opening a new company and expecting a clean slate. It does not work that way. The move here is not to hide — it is to understand what actually happened, what you can and cannot fix, and which gateways will underwrite your real business model.
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 account has been permanently terminated and may not be reactivated" — with no pathway to appeal or re-apply
- Checkout still functioning for days or weeks, creating the false impression the termination is not real
- A sudden payout freeze with unclear hold periods, sometimes stated vaguely as "under review"
- No statement of whether the termination includes a MATCH report — you are left guessing
- Support responses that repeat the policy without engaging your actual circumstances
Both clocks matter because they move at different speeds and create different pressure. The checkout clock is psychological — it feels like you have time, which is the danger. The payout clock is the real one. Money already collected sits frozen, and every day that passes while you are still using that shop is a day you are not building elsewhere. Act on the assumption that checkout access could end suddenly, not that you have weeks.
Why it happened — specifically for self-defense products
Stripe, which underwrites Shopify Payments, explicitly restricts stun guns and pepper spray under its "other weapons" policy. The primary trigger is the product category itself — these items are inherently flagged regardless of legality where you operate. The secondary trigger is jurisdiction: legality is state-specific in the US and these items are prohibited outright in much of Europe, which means a processor sees immediate compliance risk. A merchant selling into multiple jurisdictions without proving geo-blocking and age gates looks reckless to an underwriter.
Rule out the easy fix first — then deal with the real one
There is no documented Shopify platform route for self-defense products. What merchants try first is connecting a high-risk processor through a third-party payment app, assuming Shopify's MCC coding will handle the restriction. It does not. Shopify Payments will decline you on policy alone, before any app integration. Your only path is to leave Shopify Payments entirely and apply to an acquirer that explicitly underwrite weapons or restricted goods. That means a high-risk MID, a higher reserve, and application to a provider outside Shopify's native network — it is not a Shopify decision at all, and you are applying cold to a processor who knows they are taking on volatility.
It only helps if all of these are true:
- You must apply to a processor outside Shopify's native payment ecosystem.
- Your store must geo-block or disable checkout in jurisdictions where the product is illegal.
- Age verification must be enforced at checkout, not as a post-purchase manual step.
- You must document your compliance posture in the application — blocking alone is not enough.
- The processor will underwrite your terms of service and product descriptions separately.
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
🎯 Weapons or weapon-adjacent, with state-by-state legality
State-by-state legality and catalog-level geo-blocking are not optional for weapons or weapon-adjacent goods—they are the compliance posture itself. Shopify Payments termination for this category usually follows a policy review, not a chargeback spike. A replacement processor will demand proof that your product catalog is already filtered by state and country law. You cannot migrate to a standard gateway and add blocking later; the blocking must be demonstrated before onboarding. The new processor's underwriting will focus on your technical controls and your ability to stay current as state law changes. That level of sophistication is not available from every acquirer.
🔞 Requires age verification, and shipping is regulated in its own right
Shopify Payments termination for age-restricted goods means you have lost a processor that already understood your compliance burden. A replacement must handle age verification at checkout, carrier restrictions (many refuse adult signature items), and state-by-state shipping rules—each state sets its own. You cannot simply migrate to a standard merchant account; you need a processor experienced in your category's specific regulatory shape. The underwriting will be longer because the new processor has to build confidence in your verification method and shipping discipline. Do not assume another payment provider will accept you; many decline the category outright. Your migration to a new gateway is also a re-proof of compliance.
What you actually have to fix
Underwriters do not change their minds because you asked. They change them because the facts changed. For self-defense products, these are the facts that move the decision:
Build geo-blocking and age verification into checkout immediately.
This is the single highest-yield fix. A processor will decline you on policy, then reconsider if you prove you cannot accidentally sell into a prohibited jurisdiction or to someone under 18. Shopify does not provide native geo-blocking, so you will need a third-party app that checks IP location and enforces age gates before payment is requested. Document exactly which app you use and how it blocks: a screenshot of the blocked checkout is what an underwriter will ask for.
Write a state-by-state compliance map and publish it.
Create a simple document listing which US states you will and will not ship to, and the reason — legality of the product in that state. Include a note on international restrictions, especially Europe where many self-defense items are banned outright. This becomes part of your application and proves you understand the landscape, not just the revenue. Add it to your terms of service so there is a trail.
Remove any language suggesting the product is for self-defense against people.
Reviewers will read your product descriptions, blog and marketing looking for claims that imply the product is a weapon. Neutral language is legal in most places where these items are sold, but language that emphasises harm or self-defence in combat reads as inflammatory to a payment processor. Use technical specs, not tactical framing. Avoid comparisons to weapons and avoid testimonials about confrontations.
Verify your processing history is clean.
If you have been declined by a processor in the past year, the new acquirer will find out via MATCH. Be upfront about it in your application — explain what you have changed (geo-blocking, age gates, terms of service) and why you are reapplying now. Silence on a prior decline is what kills a second application.
What underwriting will ask you for
- Proof of geo-blocking and age-verification implementation on your store.
- State-by-state legality map showing where you ship and what you block.
- Copy of your terms of service covering age restrictions and jurisdiction disclaimers.
- Business license or seller permit for jurisdictions where you operate.
- Processing history from any prior payment processor, successful or declined.
- Product liability insurance, if available in your category.
- Compliance manual or procedures document showing how you prevent underage or out-of-jurisdiction sales.
Getting underwritten for self-defense products
High-risk acquiring is an entire industry that exists for businesses Stripe declines, and several of them publicly underwrite self-defense products. 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 self-defense products
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
- Establish whether you are on MATCH before you actYou need to know what actually happened, because the next three steps depend on it. A Shopify Payments termination does not automatically trigger a MATCH report — Stripe may terminate an account without reporting it to the card networks. The only way to find out is to check the MATCH database yourself. You can query MATCH through third-party screening services or by applying for a merchant account with a new processor and asking them to run a check. If you are listed, you are listed for five years from the termination date and every acquirer you apply to will see it. If you are not listed, the termination is local to Shopify and Stripe, and your options are much broader. This step takes a few days and it determines everything that follows.
- Get a verified copy of your store while you have access — todayThis is the step with a deadline you do not control. A termination means checkout will eventually close and admin access may follow. Once that happens, there is no API, and without an API your catalog, orders, customer list, consent records and every piece of metadata your theme references are unreachable. Not deleted — just gone from your control. Shopify's own CSV export cannot carry metafields, metaobjects, orders, gift card codes, videos, themes, menus, discounts or redirects, which means a simple download is incomplete. You need a third-party migration tool to pull a true copy, or a developer to script the API before the access ends. If you own gift card codes, know now that they cannot be read through any Shopify API by anyone — you can only re-issue them. Start this today, not after checkout closes.
- Decide whether to appeal or move onIf you are not on MATCH, an appeal is worth exploring, because the termination may reverse and you get your Shopify Payments account back. The appeal goes to Stripe through Shopify support, and Stripe's answer is final. If you are on MATCH, the appeal is not the move — the move is migration, because no other processor will take you while you are listed. Waiting out the five years is passive and it leaves your money frozen. Moving to a new entity is the move people suggest, and it is the move that fails: MATCH follows the people, not the company. A new business with the same beneficial owner does not present as a new applicant to any processor screening MATCH. That is not a legal opinion — it is how the system works. The right reason to form a new entity is structural — a genuine operational separation — never to evade a record.
- If you are not on MATCH, migrate to a gateway that accepts your categoryNot all payment processors screen the same way, and some will underwrite a business that Stripe will not. Gateways that publicly advertise support for higher-risk categories include Wise, Stripe Connect partners in your category, and alternative processors specializing in your industry. Never assume acceptance — apply truthfully, with your full transaction history, and let the underwriter decide. Build your new store on the new processor's infrastructure before you lose access to your Shopify export. You are moving your entire operation: catalog, images, descriptions, SEO metadata, theme, products, variants, metafields, videos, customers, orders, menus, redirects and discounts. A complete migration takes time, and you do not have much of it. This is where we come in: a fixed-price migration service that pulls your store into a new platform, re-runs the full export a second time, and compares counts to catch what moved and what did not. Nothing is ever lost in a migration — but some things are commonly missed, and we are the tool that finds them.
- If you are on MATCH, build your new business on a processor outside the card network screening loopMATCH is screened by every acquirer licensed to take cards. If you are listed, traditional payment processors — including Stripe, Shopify Payments, Square and most banks — will decline you. Your options narrow to two: processors that do not screen MATCH (typically crypto or alternative rails), or waiting out the five-year listing period. If you choose the latter, that five years starts from your termination date, not from today. In the meantime, your money is frozen and your business is paused. If you have been terminated unfairly or as a result of a category misidentification, consider legal counsel — the card networks do take appeals, and some merchants have won reversals. That is contested ground and worth exploring with a lawyer, not a migration service. Our role is to move your store when you have a destination. If you do not have one yet, that is the conversation to have first.
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
A self-defense store's data is dangerous to move by hand for one reason: the compliance metadata lives in metafields. Jurisdictional restrictions, age-gate requirements, product legality notes and shipping-rule references are stored as custom fields that a CSV export cannot carry — so if you copy naively, you lose the rules that prevent illegal sales. On a restricted product, silent data loss is a regulatory liability, not a cosmetic problem.
| What you own | How much of it | What breaks doing it by hand | What we do instead |
|---|---|---|---|
| Product images | 1,680images≈ 7 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 | 280descriptions≈ 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 | 840variants≈ 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 | 2,240metafields≈ 15 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 | 380records≈ 2 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 |
| Customers | 1,200customers≈ 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 | 2,800orders≈ 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 | 3menus≈ 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 | 15discounts≈ 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 | 20articles & pages≈ 1 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 will not help you here. A decline on category policy is not a reflection of your business structure — it is a reflection of the product you sell and the jurisdictions you cannot safely serve. If you have been declined by a processor, that decline is filed against you as a person in MATCH for five years, and forming a new company does not erase it. The only fix is to demonstrate genuine compliance posture to a processor who accepts the category at all.
Frequently asked
Will forming a new company let me reapply to Shopify Payments?
No. Shopify Payments is underwritten by Stripe, and Stripe's policy on self-defence products is categorical — it is not about your business structure, it is about the product. A new entity does not change the product you sell. Your MATCH record follows you personally for five years, so a new company will not erase a prior decline either.
Which payment gateways actually accept self-defense products?
Several high-risk acquirers publicly advertise this category, but which one will take you depends entirely on your geo-blocking setup, your processing history and your volume. Authorize.net on a high-risk merchant ID is one option; others specialise in 2A or restricted-goods categories. Rather than cold-email a dozen, use the quote form on this page and let us connect you.
What happens to my product data if I move stores?
Your compliance metadata — jurisdictional blocks, age-gate rules, legality notes — live in Shopify metafields. A standard CSV export cannot carry metafields at all, so if you move by hand, those rules vanish. The new store renders without them, and you silently lose the barriers that prevent illegal sales. That is why automated migration matters here.
How much reserve should I expect with a self-defense processor?
Processors in this category typically hold 5–10% of your monthly turnover in rolling reserve for 90–180 days. That is higher than mainstream payments, and it reflects the volatility and compliance risk. Ask any potential processor for their reserve policy upfront — it varies widely and affects your cash flow.
Why can't I just open a new company and reapply to Shopify Payments?
Because MATCH does not list only the company — it lists the people behind it for five years. If you are the beneficial owner of the terminated account, every processor screens you personally, and a new company with your name on it presents the same way. A new entity is the right move for structural business reasons, but it is not a way to look like a different applicant. Anyone selling it to you that way is selling fraud, and it will not work.
How do I know if I'm on MATCH?
Shopify will not tell you. You can query the MATCH database through third-party screening services, or apply to a new processor and ask them to run a check when they decline you. If you are listed, every detail of your termination is there. If you are not listed, the termination is contained to Shopify and Stripe, and you have clearer options for migration.
Can I appeal my termination to Shopify Payments?
The appeal goes to Stripe, Shopify's underwriter, and it succeeds only if you can show a factual error — a misidentified category, a misread of your transaction history, or similar. If Stripe terminated you because your business model itself does not fit their underwriting, no appeal changes that. Stripe publishes no timeline for review and the answer is final.
What happens to my money when Shopify Payments is terminated?
It freezes pending resolution of the underwriting review. There is no published hold period — it can be weeks or indefinite. If you are also on MATCH, the freeze can last years. Once the review closes, you either get access restored and a payout scheduled, or you forfeit the balance. Check your termination notice for the specific details of your hold.
Can you turn my Shopify Payments back on?
No processor can. We are a migration service — we move your store and its data into a new shop built on a gateway that will accept you. We cannot turn Shopify Payments back on and we cannot help you evade MATCH. What we do is extract your complete store — catalog, orders, customers, metadata — before access closes, and rebuild it somewhere you can actually sell. That is only the move if you have a destination processor that will underwrite you truthfully.
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 →