You’re selling something today as single-use codes — Steam keys, activation tokens, month-long access codes you generate manually. You want to switch the same product line to a recurring subscription that auto-renews on the buyer’s gateway. This playbook walks through the safest migration path: keep the old product running, launch the new one, move customers over the renewal cycle.Documentation Index
Fetch the complete documentation index at: https://docs.shoppex.io/llms.txt
Use this file to discover all available pages before exploring further.
Why not just edit the existing product?
Technically Shoppex allows changing a product’stype (the type field is mutable on update).
But changing SERIALS to SUBSCRIPTION on a live product doesn’t carry over what you
actually need: there’s no automatic Stripe-plan creation, no migration of past buyers to the
new billing terms, no handling of pending serial deliveries.
The clean path is to create a new subscription product alongside the old one, then
deactivate the old one once customers have moved.
Step 1 — Create the subscription product
Open Products → New product:- Type: Subscription
- Title: the new name (e.g. “Pro Access — Monthly”)
- Price: monthly amount
- Billing interval: Day / Week / Month / Year (and a count, e.g. interval=Month, count=1 for monthly)
- Trial period: optional, up to 60 days
SERIALS, FILE,
SERVICE, or DYNAMIC content on each renewal.
Save. The subscription is live on your storefront.
Step 2 — Announce the change to existing buyers
Email or message your existing customer list. Be explicit:- The old product (one-time codes) is staying available through a specific date.
- The new subscription product is now live with [whatever benefits — lower per-month price, better access, automatic renewal].
- After the cutover date, only the subscription product will be sold.
Step 3 — Move the old buyers
There’s no automated way to convert a buyer’s past one-time purchase into a subscription — the payment method changed (one-off vs. recurring), the gateway agreement is different. The buyer has to actively subscribe. The most reliable way to nudge them: offer a discount coupon on first month of subscription, restricted to existing customers. Create the coupon at Discounts (/coupons):
- Type:
PERCENTAGE(orFIXED) - Value: whatever feels right (20-50% on first month is typical for migration)
validUntil: a hard cutoffmaxUses: total count to cap exposure
Step 4 — Wind down the old product
When the cutover date arrives, archive the old product (don’t delete — that breaks historical order references). From the old product’s settings, toggle it inactive. It disappears from your storefront but the past orders, delivered codes, and customer records all stay intact.What about Discord roles already granted?
If the old product granted a Discord role, those grants stay. The buyer keeps the role until you remove it manually. Most merchants either:- Let the old grants stand as a goodwill gesture (existing customers keep access forever).
- Set a date and bulk-revoke from the Discord side, with a clear announcement.