Mainstay

Mainstay FAQ and Support

Last updated: July 2, 2026 · Version 1.0

Answers to the most common questions. If you do not find what you need, contact us using the email at the bottom of this page and include your store URL.

Getting started

What does Mainstay do? It runs subscriptions on your store and works to keep the subscribers. The engine sells subscribe and save, bills on Shopify’s native subscription contracts and Shopify Payments, and gives customers a portal. The retention layer recovers failed payments, offers alternatives when a customer tries to cancel, and reports your churn and recovered revenue.

Do I need theme code changes? No. Mainstay uses Shopify’s native subscription contracts and checkout, plus an app-proxy customer portal. Nothing is injected into your theme.

How do I set up my first subscription? Open Mainstay, go to Setup, search for a product, and create a subscribe and save plan by choosing a weekly or monthly interval and a discount. Customers can then choose the subscribe option on that product at your normal checkout.

Billing and subscriptions

How does billing work? Each subscription is a Shopify subscription contract billed through Shopify Payments. Mainstay’s scheduler charges each contract on its billing date. It never handles raw card data.

Can Mainstay double-charge a subscriber? No. The scheduler is exactly-once: it journals each billing cycle with a deterministic key before charging, so a crash or a retry on our side can never bill the same cycle twice.

Can customers manage their own subscription? Yes. The customer portal lets a signed-in subscriber view their subscriptions and skip the next delivery, pause, resume, or cancel. You can also skip a cycle or pause a subscription from the admin.

Failed payments (dunning)

What happens when a charge fails? Mainstay reads the decline code and picks the right action, rather than blindly retrying. Soft declines retry on the schedule you set. A hard decline (a dead or invalid card) sends the customer a secure link to update their card. A charge that needs authentication is handled the same way. A configuration or out-of-stock failure alerts you and does not chase the customer.

How many times will it retry? As many times as there are entries in your retry schedule. Each entry is the number of days after a failure to try again, so the schedule you see is the retry plan. You set what happens after the last retry: pause or cancel the subscription.

Why is a failed subscriber not being retried? If the decline was a dead card or an authentication challenge, Mainstay is waiting on the customer to update their card, not on a retry. If it was a configuration or inventory problem, it is waiting on you. The dashboard’s Needs attention list shows who is waiting on what.

Save offers

What happens when a customer tries to cancel? In the portal, Mainstay asks the customer why they are leaving, then offers the best alternative you allow for that reason (pause, skip, swap, or a discount) before the subscription is lost. If they decline, or if there is nothing suitable to offer, the subscription is cancelled cleanly.

How do I stop the cancel flow from being farmed for discounts? Save discounts are gated by guardrails you set: the discount percentage, a lifetime cap on how many save discounts one subscriber can ever be granted, and a minimum tenure before a discount is offered at all. A brand-new subscriber cannot open the cancel flow to harvest a discount.

Which offers can I turn on? Pause, skip a cycle, swap the product, and discount are each an independent switch in the save-offer policy. Mainstay only ever presents an offer you have enabled.

The dashboard

What does the dashboard show? Subscription health (active, at risk, paused, cancelled), recovery (charges recovered by dunning versus cycles still parked), save-offer performance over the last 30 days, and a Needs attention list of contracts that will not advance on their own. “At risk” means the subscriber is in dunning after a failed charge.

Compatibility and migration

Can I move my existing subscriptions from another app? Mainstay is built for running subscriptions natively on your store, and it leads with new subscriptions. Moving subscribers off another vendor is not a silent transfer, because payment authorizations stay with the gateway and cannot be copied between apps. We are honest about this rather than promising a seamless import that no app can truly deliver.

Does Mainstay take a percentage of my subscription revenue? No. Mainstay is priced as a flat plan and does not take a cut of every recurring order.

Account and data

What data does Mainstay use? Only what it needs: subscription contract details and billing outcomes from Shopify, the customer identifier and name, cancellation reasons and save-offer outcomes, and your settings. It does not store card numbers or act as a payment processor. See the Privacy Policy for details.

What happens when I uninstall? The app stops accessing your store and its stored credentials are deleted. Mainstay honors Shopify’s privacy and deletion requests.

Still need help?

Contact us using the email below. Please include your store URL and a short description of what you expected to happen. We are glad to help.