Rolling reserve imposed, and you sell testosterone support products. Migrate everything to a new Shopify store.
The payout landed, but only part of it. A percentage of your revenue is being held in a rolling reserve — money that belongs to you, but that Shopify Payments controls for 90, 120 or sometimes 180 days before it releases. The email or dashboard note uses the word 'review' or 'risk assessment', which reads like punishment. It is not. A reserve is how payment processors collateralise the disputes they know are coming. Chargebacks, refunds, fraud claims — they all pull from this pool before your account goes negative. Shopify Payments is underwritten by Stripe, and Stripe treats a reserve as a condition of continuing to process at all, not a temporary penalty. The useful news: reserves are negotiable downwards over time. A merchant with months of clean processing history, low dispute rates and stable revenue can make a case to reduce both the percentage held and the rolling period. That conversation does not happen by itself, but it does happen.
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
- "A rolling reserve has been applied to your account for risk management purposes" — with no percentage or end date named
- Payouts that are visibly smaller than your actual sales, week on week, for weeks or months
- Dashboard showing held funds in a separate reserve account, growing faster than it drains
- Support responses that treat the reserve as non-negotiable and permanent
- Gaps in cash flow that make it hard to re-stock or pay contractors, even though the underlying sales were real
The payout clock matters more than the checkout clock here, but it is a slow clock. You have time to work this deliberately. The real danger is treating a reserve as permanent and unchangeable, then panicking into a bad decision — switching gateways, or worse, abandoning the business entirely. Most rolling reserves are negotiable downwards within months of clean processing.
Why it happened — specifically for testosterone support products
Shopify Payments declines most testosterone and hormone-support merchants because the category courts unapproved-drug exposure. Stripe, which underwrites Shopify Payments, treats hormone-modulation claims as pharmaceutical in nature: anything suggesting the product alters hormone levels, restores balance, or treats age-related decline reads as making a drug claim, which is prohibited. The secondary trigger is adjacency: the category sits directly adjacent to SARMs and prohormones, which are genuinely prohibited, so reviewers examine your catalog and copy with higher suspicion. A single product claiming to 'restore testosterone' or 'balance hormones' can sink the whole application.
Rule out the easy fix first — then deal with the real one
Shopify does not publish a documented route for this category. What most merchants try first is applying to Shopify Payments directly, assuming it is a simple underwriting question—it is not. Shopify Payments uses Stripe's restricted-business policy, which does not have a conditional approval path for testosterone products the way some categories do. Your alternative is to work with a high-risk acquirer who specialises in supplement and hormone merchants and wire their gateway through Shopify. This requires applying to the acquirer independently, disclosing your full product range and your marketing claims, and being declined or approved on their underwriting—which is separate from Shopify and takes 1–3 weeks. Permission to apply is not permission to launch; many merchants get approved by an acquirer only to find their ads or claims flagged later.
It only helps if all of these are true:
- No claims implying disease treatment, hormone restoration, or age-related deficiency reversal.
- All ingredients must be lawful dietary-supplement components (not SARMs, prohormones, or pharmaceutical precursors).
- Marketing copy must frame products as performance or fitness support, never medical benefit.
- Your processing history must show no prior declines or chargebacks in supplement or restricted categories.
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
💊 Sold to be swallowed, inhaled or applied — health claims and product-liability risk
A reserve means your cash flow stops for the duration, and for anything consumed or applied, dispute rates are the primary driver. Processors are protecting themselves against claims that products did not work or caused harm. Your reserve size and length correlate directly to your chargeback history and the strength of your product claims. Before approaching a new acquirer, audit your product pages: any claim that could be read as a drug claim, a disease claim, or a cure will spike the reserve. Get documentation—certificates of analysis, third-party testing, ingredient sourcing—into a format a processor can review in minutes, not days.
🔁 Recurring billing is a large share of revenue
A reserve starves a subscription business in two ways. New recurring orders are slower to settle, and cash flow from the existing subscriber base becomes uncertain. Your reserves are calculated on forward-looking billing: if a processor estimates you will bill 10,000 subscribers next month, they reserve against the disputes that history suggests will come. The reserve duration is the same pain: if it runs 120 or 180 days, your cash from the same billing cycle does not return for months. Prove clean chargeback behaviour over the longest period the processor will review; even small improvements in dispute rate accelerate reserve negotiation.
⚖️ Legal status is genuinely contested or actively changing
A reserve on legally contested goods reflects that legislative risk is priced separately from chargeback risk. The processor is protecting themselves against category-level legal change, not just individual transaction disputes. Your reserve duration may be longer than a merchant in an established category faces, even with identical chargeback rates. The useful truth: reserves are genuinely negotiable downwards over time with clean processing history. A merchant who can show 12 months of zero compliance flags and zero disputes often negotiates a material reduction. That matters more for legally volatile categories, where the processor's risk pricing is higher to begin with.
What you actually have to fix
Underwriters do not change their minds because you asked. They change them because the facts changed. For testosterone support products, these are the facts that move the decision:
Rewrite every product title and description to strip hormone-restoration language.
This is the single highest-yield fix because it directly addresses the unapproved-drug trigger. Remove any claim that the product restores, balances, increases, or regulates hormone levels—or treats age-related decline. Replace it with performance language: 'supports athletic recovery', 'enhances workout results', 'promotes muscle development'. A product called 'Testosterone Restore' must become 'Test Support' or 'Performance Blend'. Audit your email flows, social ads, reviews, and blog posts too—underwriters read all of them, and a single email saying 'restore your testosterone' can sink you.
Document that your product range excludes SARMs, prohormones, and pharmaceutical precursors.
Because testosterone products sit adjacent to genuinely prohibited compounds, underwriters will ask. Create a one-page attestation listing every ingredient in every product by name and supplier, with supplier COAs attached. Explicitly state that you do not stock SARMs (selective androgen receptor modulators), prohormones, pharmaceutical-grade testosterone, or any compound that requires a prescription or is banned by the FDA. This shifts you from 'suspicious category' to 'transparent operator in a legitimate category'.
Obtain and attach supplier certificates of analysis for every ingredient.
Underwriters need proof that your raw materials are what you claim. Request a COA from every supplier, showing third-party lab confirmation of identity and potency. If a supplier cannot provide one, do not stock that ingredient—it will be flagged as high-risk. Store these in a folder and reference them by ingredient code in your product specifications, so an auditor can verify them without calling you. This single document set is the difference between 'looks like a prohormone shop' and 'runs like a legitimate supplement business'.
Pull 24 months of processing history and dispute records to show clean risk profile.
Underwriters will pull your Visa and Mastercard history to see if you have processed this product before, been declined, or accumulated chargebacks. If you have, disclose it upfront with context: 'We were declined by Processor A in 2023 because we used unapproved claims; we have since rewritten all copy.' If this is your first application and you have no history, say so. Clean history in supplements or fitness (even if not testosterone specifically) is a strong signal. High chargebacks or prior declines in restricted categories will be held against you.
What underwriting will ask you for
- Complete product ingredient list with supplier COAs for each ingredient.
- Marketing claims audit: all product descriptions, website copy, email campaigns, and social-media posts.
- Competitor and ingredient-sourcing analysis showing you do not stock SARMs, prohormones, or prescription precursors.
- Processing history and chargeback/dispute records for the past 24 months.
- Bank statements for the past 3 months showing legitimate business revenue.
- Owner and beneficial-ownership documentation.
- Customer refund and return policy.
Getting underwritten for testosterone support products
High-risk acquiring is an entire industry that exists for businesses Stripe declines, and several of them publicly underwrite testosterone support 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 testosterone support 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
- Understand what percentage and rolling period applyLog in to your Shopify admin and find the reserve details under Payments. Note the exact percentage held, the rolling period (typically 90, 120 or 180 days), and any stated review date. Write this down. You will need these numbers to track your release schedule and to make a case for reduction later. If the dashboard does not show a clear end date, contact Shopify Support and ask for clarity — they may have it even if the interface does not display it.
- Pull a verified copy of your store while you still have accessA reserve is a cash-flow problem, not (yet) an access problem. But the sequence matters. Get your store backed up now while you can still log in. This means exporting your product catalog, customer list, order history and consent records — everything Shopify's CSV export reaches. Note that Shopify's export cannot carry metafields, videos, your theme, menus, discounts, redirects or gift card codes, so this is a partial backup at best. But it is vastly better than nothing. If the reserve triggers a full account review later, access can be yanked, and an unreachable catalog is a dead business.
- Document your processing history and dispute ratesReserves are negotiable if you can show Stripe that your dispute and chargeback rates are low, your refund patterns are normal, and your order velocity is stable. Start gathering this data now. Run a report on your disputes and chargebacks from the last 90 days. Compare your refund rate to your sales volume. Check your customer satisfaction metrics if you have them. This is the evidence you will present when you ask for the reserve to be lowered.
- Request a re-evaluation of your reserve termsAfter you have 60–90 days of clean processing history, contact Shopify Support and ask them to escalate your account for a reserve review. Be specific: state your current dispute and chargeback rates, your refund practices, and the stability of your processing. Reserves are a standard tool, not a punishment, but they are also negotiable. Stripe lowers both the percentage held and the rolling period for merchants who demonstrate they are low-risk. A request framed as a re-evaluation is more likely to get traction than one that frames the reserve as unfair.
- If the reserve does not budge, plan a gateway migrationA rolling reserve is a working business problem, not a business-ending one. But if it stays locked at a level that breaks your cash flow, and re-evaluation goes nowhere, you have the option to migrate to a different payment processor. Choose a gateway that accepts your product category and has underwriting criteria that fit your actual business. Migration is not a punishment-evasion move; it is moving from misfit underwriting to fit underwriting. Be prepared to disclose your full history — Stripe's data will appear in any new underwriting review, and honesty about why you moved will serve you better than pretending the reserve never happened.
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
Testosterone stores are dangerous to move by hand because compliance data lives in metafields. Supplier COAs, ingredient sourcing, batch dates, and third-party lab-result links are typically stored as file-type or reference-type metafields that a CSV export cannot carry at all. If they are moved naively, pages render but the lab-result files point silently to URLs in the old store, so an auditor or customer sees a blank or broken link. On a product that requires ingredient proof to stay approved, that makes the migration itself a compliance failure.
| What you own | How much of it | What breaks doing it by hand | What we do instead |
|---|---|---|---|
| Product images | 720images≈ 3 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 | 180descriptions≈ 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 | 1,080variants≈ 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 | 1,440metafields≈ 10 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 | 513records≈ 5 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,400customers≈ 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 | 4,100orders≈ 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 | 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 | 53articles & pages≈ 4 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 | 10apps≈ 10 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 your risk profile. If you have been declined by Shopify Payments or an acquirer, your personal MATCH record (Mastercard's chargeback-history database) follows you for five years. Forming a new company does not erase that. The honest answer is that most testosterone merchants do not need a new entity; they need to fix their marketing claims and reapply to the same acquirer or a different one. A new entity is justified only if your old one is frozen or you are unwinding an entirely separate business line.
Frequently asked
Which gateway actually accepts testosterone products?
Several high-risk acquirers publicly underwrite testosterone and hormone-support merchants—Authorize.net on a high-risk MID, PaymentCloud, Corepay, Easy Pay Direct, Soar Payments, and eMerchantBroker. But 'publicly advertises' does not mean 'will approve you'. Each one runs its own underwriting and will decline if your claims read as pharmaceutical or if your supply chain includes anything questionable. The gateway is rarely the barrier; the acquirer is. Apply to multiple acquirers in parallel, disclose everything up front, and expect 1–3 weeks per decision.
Will my gift card codes transfer if I move stores?
Gift card codes are encrypted and cannot be read or exported through any Shopify API—by anyone, including Shopify. If you have active gift cards, they cannot move. Your options are to honour them on the old store until they expire, re-issue codes manually to customers who complain, or absorb the cost as part of your migration. Plan for this before you switch; it is not a surprise that appears halfway through.
What reserve should I expect from a new testosterone acquirer?
Testosterone and hormone-support merchants typically face a 5–10% rolling reserve, held for 90–180 days. This means 5–10% of every transaction sits in an escrow account that the acquirer releases only after the hold period expires, as proof you are not running a scam. Reserves are negotiable if you have strong processing history, but expect to start here. Budget for it in your cash flow before you switch processors.
Do my product compliance metafields survive a store move?
Not automatically. Supplier COAs, lab results, ingredient sourcing, and batch documentation stored as metafields cannot be carried by Shopify's CSV export. A professional migration service can extract and re-create them if you provide the source files and metafield structure, but moving by hand means they disappear or point to broken links in the old store. On a hormone product that requires third-party lab proof to stay approved, silent data loss is a serious liability.
Why is Shopify holding a percentage of my payouts?
Because Shopify Payments is underwritten by Stripe, and Stripe uses a rolling reserve to collateralise the disputes and chargebacks it knows are statistically coming. It is not a punishment or a temporary hold pending review. It is a condition of the merchant account itself. The reserve amount depends on Stripe's assessment of your risk profile — category, processing history, dispute rates and order velocity all feed into it.
What percentage is normal, and how long will it last?
Industry norms are 5–10% rolling over 90–180 days. Stripe may impose 20–25% on a merchant where risk signals are higher — lower sales history, newer business, higher dispute rates. If Stripe suspects illegitimate commerce, reserves can extend to 365 days. The exact terms are set individually based on underwriting, and there is no single 'normal' that applies to every store.
Can I appeal the reserve or get it removed immediately?
No. A reserve is not a violation or suspension; it is an underwriting condition. You cannot appeal it as if it were a mistake. What you can do is make a case for reduction based on processing performance. After 60–90 days of clean processing — low disputes, normal refund patterns, stable order velocity — you can ask Shopify to re-evaluate the reserve downwards. Stripe does lower both the percentage and the rolling period for merchants who demonstrate they are low-risk.
My cash flow is broken. Can I move to a different payment processor?
Yes. A rolling reserve is a cash-flow problem, not a contract lock. If your current reserve breaks your ability to operate, you can migrate your store to a different payment processor with different underwriting terms. Choose a gateway that publicly advertises acceptance of your product category. Be prepared to disclose your history truthfully — any new processor will see your Stripe data during underwriting, and honesty about why you migrated will be more persuasive than silence.
Will the reserve stay on my account forever?
Not if your processing stays clean. Reserves are negotiable downwards with consistent low dispute rates and stable processing history. Merchants commonly see their reserves reduced — either the percentage held, or the rolling period, or both — within months of demonstrating they are low-risk. This is genuinely useful news: you are not stuck with the initial reserve permanently. The conversation requires documentation and patience, but it does happen.
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 →