Home / Payments recovery / Application rejected / Self-defense products
Shopify Payments application rejected · Self-defense products

Application rejected, and you sell self-defense products. Migrate everything to a new Shopify store.

The email came back fast: your Shopify Payments application has been declined. No reason given, or a one-line reason that doesn't quite fit. You have no payouts held, no suspension notice, no terminated-merchant file record — just a gateway that won't activate. This is the cleanest version of a payments crisis, and it's worth understanding why. Shopify Payments is underwritten by Stripe, and Stripe screens applications against the product category you declared, the countries you ship to, and the completeness of your business profile. Rejection at application stage means the review happened before any money moved. You can stay on this Shopify store, keep your domain, keep your design, and simply activate a different payment gateway instead. No migration needed. No data loss. The store is fine; the first gateway you tried wasn't the fit.

No card. Read-only. It shows you exactly what would move before you pay anything.
Fixed price from $247Read-only — we never write to your old storeLive in as little as 48 hoursVerified twiceFull refund if we can't migrate you1,500+ migrations
9,467
records in your storeproducts, images, variants, metafields, customers, orders
54 hrs
to move it all by handabout 1 working week of your time, and only if nothing goes wrong
8 of 14
have no CSV route at allorders, metafields, menus, theme content, videos, apps, gift cards
$247
to have all of it donefixed price, and we only ever read from your old store
That is what is sitting in a self-defense store right now, and what a hand-move would cost you. Scroll for the line-by-line breakdown — or move the whole thing for a fixed price.
Fixed price · verified twice · zero downtime

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.

Standard DIY Migration
$247
$349
Fully automated migration up to 20,000 entities: products, collections, customers, pages, blogs, menus, redirects, files, metafields, theme.
Complete Migration
$397
$549
Everything in Standard DIY up to 100,000 entities, plus full order history with tracking, discounts, gift cards, product reviews, markets and translations, Klaviyo & review app reconnection, and a scheduled zero-downtime DNS cutover.
Concierge Cutover
$497
$699
Everything in Complete up to 250,000 entities, plus a full app-stack reinstall & reconfiguration session (Klaviyo flows, pixels, loyalty), Recharge subscription coordination, priority scheduling and 30 days of post-launch support.
Enterprise Migration
$797
$1199
Base fee for unlimited entities, multi-store and franchise rollouts, dedicated migration engineer with a direct line, weekend/overnight cutovers, unlimited re-migrations within 90 days and 60 days of support.
Not ready to pay while your payouts are frozen? Run the free demo scan first → — read-only, no card, and it shows you exactly what would move.

What you are looking at

Your held balance
No payouts are at risk. No funds have been collected yet.
Your checkout
Your checkout cannot take payments until a gateway is activated. Time to activate a different one is typically hours.
Is an appeal realistic?
Possible, if your profile was incomplete or genuinely mismatched your category
Appeal timeline
Stripe publishes no SLA for reapplication review. Most merchants see a decision within 2–4 weeks of submission, but speed is not guaranteed.

The only clock that matters is your launch timeline. You have no external deadline. Take time to choose the right gateway for your category and geography, because switching gateways mid-launch is friction you don't want. Activation is fast; selection is the real work.

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.

Status
Restricted on Shopify Payments · case-by-case, and commonly declined
Merchant category code
5999 · 5941The four-digit code an acquirer files your business under. It decides your risk tier, your rates, and which chargeback-monitoring programmes you fall into — so being coded wrongly is itself a reason applications fail.
Reserve to expect
5–10% rolling, held 90–180 days

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.

Find out what you would actually loseThe free audit connects read-only to your store and counts every product, variant, image, metafield, customer and order in it. No card, and it never writes to your store.
▶ Start the free audit

What this means for a business like yours

🎯 Weapons or weapon-adjacent, with state-by-state legality

Weapon-adjacent categories face country and state-by-state legal fragmentation. A processor rejects an application because they cannot write a compliance policy that covers all jurisdictions simultaneously—it is risk pricing, not a ban. You need geo-blocking at catalog level, so customers in restricted regions cannot see or buy restricted items. Before reapplying, map your product list against federal law and the laws of your target states. Then lock down your Shopify store to block checkout in jurisdictions where your products are illegal. Provide that blocking strategy in your reapplication. The gateway will want proof of intent before they take you.

🔞 Requires age verification, and shipping is regulated in its own right

Age-restricted goods trigger both category screening and shipping carrier rules that vary by state. Your application may have been rejected because the underwriter could not verify your fulfillment process—signature capture, age verification at delivery, state-by-state carrier restrictions. Some carriers won't touch certain age-gated categories at all. Before you reapply, document exactly how you will verify customer age at checkout and confirm your chosen carrier accepts the category in your target states. A written fulfillment plan, with carrier agreements attached, moves you from 'unknown' to 'managed'. Rejection here is process, not judgment.

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

Not sure how much is in there?Most merchants underestimate their own store by an order of magnitude. The audit gives you the real numbers in a couple of minutes.
▶ Start the free audit

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.

Reserve to expect
5–10% rolling, held 90–180 days
Settlement
Slower than the next-day you are used to — commonly T+2 to T+7
What decides it
Your claims, your chargeback history and a MATCH screen — not your industry
Improves over time
Reserves are renegotiable once you have clean processing history
Free · no obligation · takes about 40 seconds

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 six things every underwriter asks first
Where to send the quotes
We are a migration service — not a payment processor, acquirer or broker. We take no cut of your processing and we cannot approve anyone; underwriting is always the acquirer's decision. We only approach providers that publicly underwrite your category, and only with your consent above. You can withdraw it any time by replying to the confirmation email. See our Privacy Policy and GDPR page.
Read this before you applyWe are a migration service, not a payment processor, an acquirer or a broker. We take no cut of your processing and we cannot approve anyone — every underwriting decision belongs to the acquirer, and the ones that publicly accept a category still decline individual applicants every day. What we can do is put your details in front of the ones that actually underwrite your category, so you are comparing real offers instead of cold-emailing brokers. Risk appetite changes month to month; nothing here is a promise of approval, and no quote is binding until an acquirer issues it.

The recovery playbook

  1. Check your business profile for gapsLog into your Shopify admin and review the business information Stripe saw: your legal business name, tax ID, business address, product category, and description of what you sell. Read it as a stranger. Is the category accurate? Some categories are harder to underwrite than others — if you sell general merchandise but wrote "beauty products", Stripe screens you against beauty-specific rules. Is every required field actually filled in? Partially-completed profiles often get rejected because underwriting is automated. If something is wrong, fix it — then you can either reapply to Shopify Payments or move forward with a different gateway.
  2. Research which gateways accept your category and countryYou don't have time to wait for a reapplication. Other gateways underwrite the same categories that Shopify Payments rejected, and some don't. The gateways that publicly advertise support for your product category are the ones to approach. Search for your category plus "payment gateway" or "payment processor", and look for gateways that list your country as supported and your category as acceptable. Check their integration with Shopify: most major gateways offer a public Shopify app. You're looking for one that will activate before your launch date.
  3. Activate the new gateway on your Shopify storeOnce you have selected a gateway that accepts your category, install its Shopify app or follow its setup instructions. No data migration needed. Your catalog, your design, your customers list, your orders — everything stays on your Shopify store. You're only swapping which processor settles your money. The new gateway typically activates within hours of setup. Test a transaction in sandbox mode, then switch to live. You can delete Shopify Payments from your payment methods as soon as the new gateway is active.
  4. Rebuild your checkout for the new gateway's requirementsSome gateways have stricter data collection than others. Check whether your new gateway requires address verification, CVV, or three-D Secure. If your checkout was set up for minimal friction, adding these fields might drop your conversion rate slightly — but an active checkout beats a perfect one that doesn't work. You can always soften friction later. Set up the new gateway's webhook and monitoring now, so you know immediately if transactions start failing. Test again with a real transaction.
  5. Keep Shopify Payments as a backup option, or don'tIf you want to reapply to Shopify Payments in three to six months, you can. Your store will remember the rejection, but there's no rule against trying again after you've fixed your profile or grown your order history. Some gateways have higher fees than Shopify Payments — if you plan to go back, set a reminder for the reapplication and make sure your business profile is locked in. More likely: you'll find a gateway that works, your sales will grow, and you'll never think about Shopify Payments again. Either way, you're selling now instead of waiting.

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 a hand-move actually costs · a self-defense store
What you ownHow much of itWhat breaks doing it by handWhat 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
9,467
records in your storeproducts, images, variants, metafields, customers, orders
54 hrs
to move it all by handabout 1 working week of your time, and only if nothing goes wrong
8 of 14
have no CSV route at allorders, metafields, menus, theme content, videos, apps, gift cards
$247
to have all of it donefixed price, and we only ever read from your old store
We move every one of those records, match the counts against your old store, then run the entire migration a second time — the second pass has to create nothing, which is how you know everything we exported actually landed.
Free · read-only · no card

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 scan
Before you talk to any processorKnow exactly what your store contains and what a move would involve. It costs nothing and it works even if your storefront is already offline.
▶ Start the free audit

Does 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.

What a MATCH listing is, what a new merchant account requires, and the company-formation routes people actually use →

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 did Shopify Payments reject me if I filled in every field?

Stripe uses automated underwriting that screens your product category against its policy. Some categories carry higher chargeback or fraud risk, and Stripe declines applications in those categories even if your profile is perfect. Others are harder to underwrite if your business description is vague. Stripe does not publish the exact reason for individual rejections. If your category is on its public restricted list, rejection is policy. If your category is general, the problem was likely profile clarity — describe exactly what you sell, not categories.

Can I reapply to Shopify Payments right now?

Technically yes, but reapplying with an identical profile will likely be rejected again. Shopify (via Stripe) publishes no SLA for reapplication review. If you believe your first application had incomplete information, fix your profile first, then try again. If your product category is what triggered the decline, reapplication will not help unless you've genuinely changed what you sell. In the meantime, activating a different gateway lets you start taking payments immediately.

Will switching to a different payment gateway lose my customer data or orders?

No. Switching payment gateways does not touch your store, your catalog, your customers, your order history or anything else in Shopify. You are only changing which processor settles your money. All your Shopify data stays exactly where it is. The new gateway integrates with your checkout, and new orders go through it instead of Shopify Payments. Old orders stay in your Shopify admin. No migration, no data loss.

What if every gateway rejects me?

This is rare at application stage (as opposed to after trading). If multiple gateways decline you, the issue is usually your product category being on most processors' restricted lists, or incomplete business information that raises flags across the board. Read their rejection emails for hints. Complete your business profile fully and honestly. If your category is genuinely restricted (adult content, certain financial services, high-risk gambling), mainstream gateways won't work — you would need a high-risk processor, which is slower to activate and more expensive.

Can you reactivate Shopify Payments for me after I switch gateways?

No. We can't turn Shopify Payments back on, and Stripe's decision is not reversible by Shopify support. What we do is move your store to a new Shopify store built around a gateway that will accept you — migrating your catalog, descriptions, images, customers, orders, themes and more. But for an application rejection with no funds held, you don't need a migration. Activating a different gateway on your current store is faster, cheaper and keeps everything you've built. Migrate only if you later face a termination and need to move to a new Shopify account entirely.

9,467
records in your storeproducts, images, variants, metafields, customers, orders
54 hrs
to move it all by handabout 1 working week of your time, and only if nothing goes wrong
8 of 14
have no CSV route at allorders, metafields, menus, theme content, videos, apps, gift cards
$247
to have all of it donefixed price, and we only ever read from your old store
A self-defense store carries this much. Every one of those records moves, and the whole migration runs again to check it landed.
Ready when you are

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 →

Standard DIY Migration
$247
$349
Fully automated migration up to 20,000 entities: products, collections, customers, pages, blogs, menus, redirects, files, metafields, theme.
Complete Migration
$397
$549
Everything in Standard DIY up to 100,000 entities, plus full order history with tracking, discounts, gift cards, product reviews, markets and translations, Klaviyo & review app reconnection, and a scheduled zero-downtime DNS cutover.
Concierge Cutover
$497
$699
Everything in Complete up to 250,000 entities, plus a full app-stack reinstall & reconfiguration session (Klaviyo flows, pixels, loyalty), Recharge subscription coordination, priority scheduling and 30 days of post-launch support.
Enterprise Migration
$797
$1199
Base fee for unlimited entities, multi-store and franchise rollouts, dedicated migration engineer with a direct line, weekend/overnight cutovers, unlimited re-migrations within 90 days and 60 days of support.
Not ready to pay while your payouts are frozen? Run the free demo scan first → — read-only, no card, and it shows you exactly what would move.
Still weighing it up?Start with the free read-only audit. It tells you what would move, what would break if you did it by hand, and which package your store actually needs.
▶ Start the free audit
Play it straightA migration moves your data — it is not a way around a platform or processor rule, and it will not get a decision reversed. You remain responsible for fixing whatever triggered the review, for telling a new processor the truth about your business and your history, and for complying with Shopify's Terms of Service and your new provider's rules. What we make certain of is narrower and more useful: that when you do have somewhere to sell, none of your catalog, customers, order history, content or SEO got lost getting there.