If you are reading this, the ReCharge invoice probably stings. A $99/mo plan that quietly turns into $700-$1,500 once you add per-order fees, Smile.io for points, Klaviyo for retention emails, and an upsell app. This page is the operational guide for moving that whole stack onto subZwallet in 7-14 days, end to end. The Shopify API mechanics, the customer comms, the parity matrix, the cutover runbook. All of it.
This playbook is built from real migrations on subscription stores and from Shopify's official subscription contract migration docs (https://shopify.dev/docs/apps/build/purchase-options/subscriptions/migrate-to-subscriptions-api/migrate-customer-information). It is the same checklist subZwallet uses when hand-holding the first 10 merchants moving over in 2026.
Why Merchants Leave ReCharge in 2026
The ReCharge product is fine. The problem is the bill and the ceiling.
- The real monthly cost is 3-7x the advertised price. ReCharge Standard is $99/mo plus 1.34% plus $0.19 per order. ReCharge Plus is $499/mo plus 1% plus $0.19. A store doing $50,000/mo in subscription revenue on Standard pays $99 + ~$670 in percentage fees + ~$95 in per-order fees = ~$864/mo, before Smile.io ($199), Klaviyo ($100-$400), and an upsell app ($49).
- No native retention layer. ReCharge handles billing well. It does not give you points, VIP tiers, a cashback wallet, or a visual flow builder. Every retention mechanism comes from a second app: a second login, a second data silo, and a second integration to babysit.
- Cancel flow is bolt-on. The save-offer logic that actually rescues at-risk subscribers ships as separate apps in the ReCharge ecosystem. Most charge a percentage of "saved revenue" on top of fees you already pay.
- Customization ceiling on the portal and emails. Redesigning the subscriber portal beyond the supported config means writing custom code against the ReCharge API and maintaining it forever. A branded renewal-reminder email becomes a Klaviyo flow tied to a ReCharge webhook you now own.
- Per-order fees scale linearly with success. Every renewal pays a flat $0.19 + 1.34% to ReCharge. The better the store does, the bigger the cheque. There is no point at which the fee structure stops punishing growth.
For merchants under $100k MRR, the fee ceiling matters most. For brands above that, the missing retention layer matters more. Either way, the math points the same direction.
The Math: ReCharge Stack vs subZwallet, Side by Side
Same store, same volume, two different bills. Numbers based on ReCharge's published pricing as of May 2026 (https://rechargepayments.com/pricing) and a typical retention app stack. Scenario: 1,000 active subscribers, $50/order, 500 renewals per month, $25,000 monthly subscription revenue. The full line-by-line breakdown is in the comparison table above.
Drop to the Launch plan if you do not need points and cashback yet, and the monthly total falls to $79 + 0.5% = $204/mo. That is the $865 → $204 number some merchants quote when they post their before-and-afters. The same math is published in the longer breakdown at /blog/recharge-pricing.
Two things worth saying in plain English. First, the per-order fee is the part ReCharge users underestimate. It looks like noise on a quote. It is not noise on the actual invoice once your renewal count climbs. Second, the "free" parts of the subZwallet pricing are not loss-leaders. The 25-subscription free tier exists because the marginal cost of running 25 contracts on Shopify's native infrastructure is essentially zero, and growth merchants graduate to paid plans naturally as they cross the cap.
The Migration Walkthrough: 7 Steps a Shopify Migration Consultant Would Actually Take
This is the sequence. It assumes you have payment methods vaulted through Stripe or Braintree (ReCharge's two supported processors), which covers >95% of stores.
Step 1. Audit and Freeze Scope (Day 1)
Before any code or any imports, name one person who owns the migration. Then export everything from ReCharge: active contracts, selling plans, discount rules, dunning policy, customer payment method IDs, and the subscription event log (pause history, skip history, plan changes). Shopify cannot import past event history, so this export is for reference only, but you want it on disk before you uninstall anything.
Decide three success metrics up front. The defaults that work: billing success rate, week-over-week cancellation rate, and subscription-tagged support tickets per day. If any of these degrade more than 10% in the first 14 days, you investigate before declaring done.
Step 2. Recreate Your Selling Plans and Discount Logic in subZwallet (Day 2-3)
Selling plans do not transfer between apps. Shopify treats them as app-scoped objects. You rebuild them inside subZwallet using the parity matrix below.
For each ReCharge selling plan, write down: billing interval, anchor day (if any), discount type and amount, eligible products, and minimum cycles for prepaid plans. Then recreate the same shape in subZwallet. This is mechanical work and usually takes 2-4 hours for a store with 5-20 plans.
While you are in there, configure dunning policy (retry schedule, final action), the cancel flow (save offers and surveys), and the customer portal embed. These are the three settings that most affect customer experience post-cutover. Setup help at /help/how-to-set-up-dunning and /help/subscription-plans.
Step 3. Migrate Payment Methods Using customerPaymentMethodRemoteCreate (Day 4)
This is the step that scares merchants the most and matters the most. Your customers do not re-enter card details. Vaulted payment tokens in Stripe or Braintree move into Shopify's payment vault using the customerPaymentMethodRemoteCreate GraphQL mutation, which accepts a remote gateway token (e.g. a Stripe payment method ID) and creates a Shopify-owned payment method that subscription contracts can attach to.
The official Shopify doc is at https://shopify.dev/docs/apps/build/purchase-options/subscriptions/migrate-to-subscriptions-api/migrate-customer-information. Read it once before you start.
In practice, subZwallet's migration tool reads your ReCharge export, calls this mutation per customer, and writes the new Shopify payment method ID back so the contract creation step can reference it. The customer sees nothing. No email, no card prompt, no checkout interruption.
Step 4. Pause Billing in ReCharge, Then Create Contracts in subZwallet (Day 5-6)
Shopify's official guidance is to pause billing on the source app before contract creation begins, so renewals do not double-fire during the cutover window. Both ReCharge and subZwallet support a billing pause toggle.
With ReCharge paused, subZwallet uses subscriptionContractAtomicCreate (the atomic version of the contract create mutation, which writes the contract, lines, and delivery method in one transaction) to recreate every active subscription. The mutation accepts a nextBillingDate field, which is how you preserve the original renewal schedule. A subscriber whose next charge was due on June 12 in ReCharge stays due on June 12 in subZwallet. Same day, same amount, same products. Background on Shopify subscription contracts at /blog/shopify-subscription-contracts-explained.
Run this on a test cohort of 50-100 first. Pick subscribers who cover the edge cases: multi-item subscriptions, heavy-discount users, recently failed payments, and high-LTV VIPs. Validate that contracts appear correctly in the subZwallet dashboard and in the customer portal. Verify the next billing date matches the ReCharge export. If anything looks off, fix it before bulk migrating the rest.
Step 5. Bulk Migrate, Then Verify (Day 7-9)
Once the test cohort renews successfully, run the bulk migration using Shopify's Bulk Operations API. This handles thousands of contracts in a single async job rather than one-at-a-time mutations that would otherwise rate-limit.
After bulk migration completes, validate the following:
- Total active contracts in subZwallet should equal the ReCharge export count, to the unit
- Spot-check 20-30 random contracts against the ReCharge export: product, frequency, discount, next billing date
- Walk through the customer portal as a logged-in customer and verify pause, skip, swap, and cancel all work
- Trigger a test failed payment and confirm dunning retries fire on the configured schedule
Step 6. Send the Customer Email and Resume Billing (Day 10)
48-72 hours before you flip billing on, send subscribers a single, short email. The body says: nothing changes, no action needed, the portal moved to a new URL, here is the link. Template below.
Resume billing in subZwallet. Monitor the first renewal cycle in real time. If you are using a Slack or Teams channel for this, keep one channel for incidents and one for customer comms approvals. The first 24 hours after cutover is when small issues turn into big ones if no one is watching the dashboard.
Step 7. Keep ReCharge Installed (But Inactive) for 48 Hours, Then Uninstall (Day 11-14)
Critical Shopify mechanic: subscription contracts auto-cancel 48 hours after the owning app is uninstalled. Selling plans owned by the uninstalled app also delete after 48 hours. Customer payment methods survive uninstall. Only contracts and selling plans get cleaned up.
This means you do not uninstall ReCharge the second migration finishes. You leave it installed but paused for at least 48 hours after the first successful subZwallet renewal cycle. That window is your safety net. If something catastrophic shows up, you have a rollback path. Only after 48 hours of clean operations do you uninstall ReCharge and consider the migration final.
What You Keep vs What Changes
A clean parity list so nobody is surprised.
- Subscriber list — every active subscriber transfers. Nothing changes.
- Payment methods — Stripe / Braintree tokens move to Shopify's vault. Card vault is now owned by Shopify, not ReCharge.
- Billing schedule — next billing date preserved exactly. Nothing changes.
- Selling plans — same intervals, same discounts, same products. Rebuilt inside subZwallet because Shopify scopes plans per app.
- Subscription contracts — same contract count, same totals. New contract IDs (Shopify auto-generates).
- Customer portal — same actions (pause, skip, swap, cancel). New URL, embeddable in your theme.
- Discount rules — same percentage / fixed / shipping discounts. Reconfigured inside subZwallet.
- Dunning policy — same retry behavior. Reconfigured inside subZwallet, plus smart retry timing.
- Email notifications — same triggers (upcoming charge, failed payment). Templates rebuilt in subZwallet's email tool.
- Subscription event history — reference export only. Past pauses, skips, and plan changes do not import (Shopify API limit).
- Order history — fully preserved in Shopify. Nothing changes.
- Reporting baselines — pre-migration MRR, churn, LTV available as exports. New analytics dashboard with fresh baselines.
- Klaviyo flows tied to ReCharge webhooks — need to rebuild against subZwallet webhooks. Step-by-step at /help/klaviyo-integration.
The two non-trivial changes are the portal URL (announce it in the customer email) and the analytics baselines (you get a clean dashboard, but pre-migration trend lines do not carry over).
What Gets Better Once You Switch
The cost savings get the headline. The operational upgrades are why merchants stay.
Cashback Wallet That Compounds Across Renewals
Every subscription renewal deposits a configurable percentage of the order value as store credit into the subscriber's wallet. The wallet redeems automatically on future orders, which means subscribers see a growing balance every month and have a concrete financial reason to stay subscribed. subZwallet is the only Shopify app that does this natively across subscriptions. Smile.io has store credit redemption but no subscription-renewal deposit trigger. ReCharge has neither. More at /shopify-store-credit.
Example rule: deposit 3% cashback on every subscription renewal, redeemable on any future order. A subscriber spending $50/month accumulates $18 of store credit per year. That balance shows up in their account every time they log in. Cancelling now means walking away from real money.
Visual Flow Builder for Retention
Drag-and-drop flows triggered by subscription events. Failed payment fires a sequence: dunning retry → wallet reminder → save offer → cancel survey. Renewal fires a different sequence: thank-you with points balance → upsell suggestion → milestone bonus.
These flows replace what most ReCharge stores do with Klaviyo, except the trigger sources are first-party (you do not maintain a webhook), and the flow can call subZwallet actions (deposit cashback, award points, change tier) directly without a second integration.
Points and VIP Tiers Tied to Subscription State
Subscribers earn 2x points compared to one-time buyers. Active-for-6-months auto-promotes to Silver tier. Active-for-12-months auto-promotes to Gold. Each tier ships with a configurable multiplier on points and cashback.
The mechanic that ReCharge + Smile.io cannot reproduce: a tier upgrade triggered by subscription longevity rather than total spend. You reward staying, not just spending more.
Save-Offer Cancel Flow Built Into the Cancel Button
When a subscriber clicks cancel, the portal walks them through configurable offers in sequence: skip next delivery, delay by 30 days, swap product, accept a discount, redeem accumulated cashback. Each offer is a configurable rule, not a separate app. The cancel survey at the end becomes a feedback loop you actually own. Setup guide at /help/manage-subscriptions.
Industry baseline for save-offer acceptance is 10-20%. If your current ReCharge cancel page is a one-click goodbye, this alone often pays for the migration in saved revenue.
One Dashboard, One Invoice, One Support Contact
A retention stack of ReCharge + Smile.io + Klaviyo + Gorgias means four logins, four billing relationships, and three integration points that can break independently. subZwallet collapses three of those into one. The Gorgias integration stays separate (it is your help desk), but the agent sidebar now shows subscription state, points balance, cashback balance, and tier in one panel.
Customer Email Template (Send 48-72 Hours Before Cutover)
Subject: Quick update to your [Brand] subscription account
Hi [First Name], we are upgrading the system that manages your [Brand] subscription on [Date]. This makes it easier for you to pause, skip, swap products, and update payment details from your account.
What this means for you:
- Your subscription continues without interruption. Same products, same schedule, same price.
- Your payment method stays on file. You do not need to re-enter your card.
- Your subscription portal moves to a new URL: [New Portal URL]. Bookmark this page.
- You now have more options: pause for a set duration, skip specific deliveries, or swap products directly from your account.
What you need to do: nothing. Questions? Reply to this email or contact [Support Email]. Our team is on standby through [Date + 7 days]. — [Brand] Team
Keep it short. Subscribers do not read long emails about backend changes. The shorter the email, the lower the support ticket volume in the days after cutover.
Migration Support: Hand-Held Onboarding for the First 10 Merchants
If you are running on $50,000+/mo in subscription revenue and want a human on the migration with you, the first 10 ReCharge migrations in 2026 ship with white-glove support. That includes:
- A migration architect on a shared Slack channel for the duration
- The selling plan rebuild and parity matrix done for you
- The bulk migration runbook executed jointly during a scheduled window
- A 14-day post-migration monitoring window with daily check-ins
- A 30-day post-cutover review of billing success, churn, and ticket volume
This is not a paid consulting offer. It is an early-adopter program. The trade is a case study and a published before-and-after metrics writeup once the dust settles. Email [email protected] with your current ReCharge MRR and approximate subscriber count to apply.
For everyone else, the playbook above is the same one the architects use. The free plan covers test cohort migration. Most stores under 1,000 subscribers can execute the full migration solo in 7-10 days using only the documentation linked throughout this page. Start at /help/getting-started after install.
Ready to Switch?
Two paths. Install free on Shopify: the free plan covers up to 25 active subscriptions with the full feature set. Set up a test cohort, run them through the migration playbook above, validate the experience, then upgrade to Launch ($79/mo), Growth ($149/mo), or Scale ($249/mo) when you bulk-migrate the rest. Or book a migration call at subzwallet.com/migrate for a 30-minute walkthrough of the parity matrix against your specific ReCharge setup.
The math is the math. ReCharge stack at $800-$1,500/mo. subZwallet all-in at $79-$249/mo with cashback, loyalty, and flows built in. The migration is a 7-14 day project with no customer disruption when it is done right. This page is the project plan. See also the /recharge-alternative comparison page and the /shopify-subscription-app product page.
