
Subscribe and save on any product
Offer prepaid or pay-per-delivery subscriptions on any product, from the free plan.
Built by Tripster Developers. Live on the Shopify App Store.
Miko Subscribe & Save sells recurring orders on any product, gives customers a passwordless portal to run themselves, recovers failed payments and scores churn from each store's own history. This page is about how it was built and what that means if you need something similar.

Why merchants install it

Offer prepaid or pay-per-delivery subscriptions on any product, from the free plan.

Customers sign in with their Shopify customer account and manage their own subscription.

Automatic failed payment retries on every plan, and a cancel flow with save reasons from Starter.
How it works
Add the app from the Shopify App Store. Your first 50 active subscribers are free.
Pick what can be subscribed to and set the delivery terms.
Shoppers choose subscribe and save on the product page and manage it themselves.
Pricing
$0
$7.99/month
$12.99/month
$19.99/month
Paid plans include a 14-day free trial. Yearly billing saves 10%. Prices in USD, billed through Shopify.
The brief
Most subscription tooling is built around acquisition: put a widget on the product page, capture the recurring order, count the win. But almost all of the revenue in a subscription program is in month four and month nine, and that is decided by things nobody builds for. A card expires. Someone wants to skip once and cannot work out how. A customer drifts for six weeks with every signal sitting in the data unread.
So the brief was inverted: build the retention machinery first and treat the sign-up widget as the easy part. That decision shaped everything below.

Architecture
The app does not decide when to charge. Shopify owns the subscription contract and the billing attempts, so the app is a state machine reacting to billing events. Every retry is keyed to Shopify's attempt and is idempotent against it, which is what stops a restarted worker charging twice.
The customer portal is a signed, short-lived, single-use link scoped to one contract. There is no credential to steal and a leaked link expires. Requiring an account puts a login in front of somebody who wants to skip one delivery, and that is exactly where cancellations happen instead.
Subscription behavior in coffee looks nothing like supplements, so a shared model would be confidently wrong for most stores. Scoring runs on each store's own history, and where there is not enough history yet the app says so rather than showing an invented number.
It drafts save offers and clusters cancellation reasons; a human approves before a customer sees anything. An AI emailing your customers unsupervised is a brand risk we were not prepared to ship, in our product or a client's.
The MCP server lets merchants run subscription tasks from ChatGPT, Claude or Copilot. The interesting part is scoping: narrow read and write permissions rather than a general admin token, because a broad token sitting behind a chat interface is a liability.
The rule the whole billing path is held to. Any handler must be safe to execute a second time on the same event, because in production it eventually will be. That single constraint removed an entire class of duplicate-charge bug before it existed.
Why it matters to you
Recurring billing, a customer-facing self-service surface, and an automated decision that needs human approval before it reaches a customer. If your project has any of those shapes, this architecture transfers directly.
Public and private apps built to App Store standards: OAuth, verified webhooks, privacy endpoints and Polaris UI.
Checkout Extensibility, Shopify Functions and native B2B for brands that have outgrown the standard platform.
Shopify to Odoo and Shopify to ERP sync with real error recovery, built on the same idempotency rules.
Because the ones that exist mostly optimize for signing customers up, and the money in subscriptions is almost entirely in keeping them. We wanted the retention machinery, payment recovery, save flows and churn signals, to be the product rather than an upsell tier bolted on later.
You do not own the schedule. Shopify owns the subscription contract and the billing attempts, and your app reacts to them. That inverts the usual design: the app is a state machine responding to Shopify's billing events, not a cron job deciding when to charge. Getting that boundary wrong is the single most common source of duplicate charges in subscription apps.
Every retry is keyed to Shopify's billing attempt, not to our own timer, and each attempt is idempotent against that key. If our worker restarts mid-cycle it re-reads state from Shopify rather than assuming what it did last. The rule we hold to is that the app must be safe to run twice on the same event.
It is a signed, single-use magic link with a short expiry, scoped to one subscription contract. There is no account to breach because there is no credential to steal, and a leaked link expires. The trade-off is that the link must be re-requested rather than bookmarked, which is the correct trade for a page a customer visits a few times a year.
For merchants already on new customer accounts we do. But requiring an account creates a login step in front of a customer who wants to skip one delivery, and that step is where cancellations happen instead. The magic link exists to remove a decision point, not to avoid building auth.
It scores from the store's own order and engagement history rather than a global model, because subscription behavior in coffee looks nothing like subscription behavior in supplements. A shared model would be confidently wrong for most stores. The cost is that a new store needs some history before the scores mean anything, and we say so in the app rather than showing a made-up number.
No, and that was a deliberate constraint. It drafts save offers and clusters cancellation reasons, and a human approves before anything is sent. An AI that emails your customers unsupervised is a brand risk we were not willing to ship, for our own product or a client's.
It exposes subscription operations to AI assistants, so a merchant can ask ChatGPT, Claude or Copilot to look up a subscriber or move a delivery date. The engineering interest is in scoping: the assistant gets narrowly-scoped read and write access rather than a general admin token, because a broad token behind a chat interface is a liability.
Yes, and this is the point of the page. If your problem involves recurring billing, a customer-facing self-service surface, or a workflow where an automated decision needs human approval before it reaches a customer, the architecture here transfers directly.
Yes. A public App Store listing forces a higher bar on OAuth, webhooks, billing and privacy, so we build private apps to the same standard whether or not they are ever listed. The listing is a forcing function, not the goal.
A focused app with a defined scope is typically 8 to 16 weeks to a first public release. Subscriptions sits at the longer end because the billing edge cases and the recovery flows carry real money and cannot be shipped half-done.
It is yours. The app transfers to your Partner account, the repository comes with its history, and there is no license fee to keep running it. We do not resell a client's custom build to the next client.
Yes, including the parts that surprise people: mandatory privacy webhooks, billing that survives an audit, and listing assets that meet the image and wording rules. We have been through it repeatedly and know where submissions get sent back.
Yes. Taking over an app someone else built is common, and it starts with a read-only audit of what actually exists rather than what the previous team documented. You get that assessment in writing before any remediation is quoted.
Then say so and we will look at it before proposing anything. If the honest answer is that your current app is fine and the problem is configuration, that is what we will tell you, even though it is worth less to us than a build.
Send the problem rather than the spec. What the business does, what is breaking, and what success would look like in numbers. You get a written response with a fixed-price range and a timeline, at no cost and with no obligation.
Send the problem rather than the spec: what the business does, what is breaking, and what success looks like in numbers. You get a written response with a fixed-price range and a timeline. No discovery fee, no obligation.
More apps we build and run
Every Miko app is built to the same App Store standard and maintained by the developers you would talk to on a project.
Starting on Shopify?
Open your store on Shopify in a few minutes, try it with your own products, and bring us in when you are ready for design, migration, apps or integrations.