Billing intervals
You can bill weekly, monthly, yearly, or on any custom interval, per product or per variant. Each renewal creates a new invoice. The buyer sees every payment in the billing history of their account.Monthly and yearly in one product
The variants of a subscription product are its plans. A variant can bill on its own interval: set Billing interval in the variant dialog. Variants without one bill on the product’s interval. On a monthly product that already has a monthly variant, the Variants card offers Add Yearly Option. It drafts a Yearly variant at 10 times the monthly price (17% less than 12 months). Every field stays editable before you save. A product without variants gets a Monthly variant first, so a yearly plan never sells alone. Buyers pick the plan on the product page and can switch later (see Plans and plan changes).Trials
Pick the trial in the product editor under Trial. A variant can override it.
A trial runs 2 to 60 days. The buyer does nothing when it ends:
- Cards (Stripe): the card is saved at checkout and charged when the trial ends.
- PayPal: free trials work. A paid intro is not offered with PayPal; the checkout shows the other payment methods.
- Crypto, balance and other invoice methods: free trials are off by default, so these buyers pay the intro price or the full price. Turn on Free trials on crypto in Settings › Store › Subscriptions to allow them. The first invoice then goes out before the trial ends, like a renewal.
One trial per buyer
One trial per buyer is on by default. A buyer who already had a trial of the product pays the full price. Shoppex spots a returning buyer by:- Email: always on. Gmail dots and
+tagscount as one address. - Discord account: when the buyer links Discord at checkout. On by default.
- IP address: the same IP in the last 30 days, stored hashed. On by default.
- Device: the same browser fingerprint. Off by default, because it can block buyers who share a PC.
subscription:trial:started and subscription:trial:ended webhook events so you can build flows around them.
Renewals
How a renewal is collected depends on the payment method the buyer used at signup.Cards and PayPal
Stripe and PayPal charge the renewal on the renewal date. When a charge fails, the provider retries on its own schedule and the subscription shows as past due. The buyer keeps access while the provider retries. When Stripe stops retrying, or the subscription is canceled, access ends. A Discord role granted by the subscription is removed then, unless you turned off Remove role on cancel on the product.Crypto, balance and other invoice methods
These renewals follow the Renewals card in Settings › Store › Subscriptions:
Put it on hold: access pauses and the renewal invoice stays open. A Discord role is removed while on hold. When the buyer pays, access comes back right away and a new period starts on the day they pay. If the hold runs out unpaid, the subscription ends.
End the subscription: the subscription ends when the time to pay runs out, and access goes at once.
The card shows an example with your numbers. With the defaults: renews Oct 24, invoice on Oct 21, access until Oct 31, on hold until Nov 30, then it ends. If the buyer pays on Nov 4, a new month starts on Nov 4.
A held subscription shows under Needs you in your subscriptions list. On its detail page you can:
- End Hold Now: the hold and the subscription end today. The open renewal invoice is voided and nothing is charged.
- Resume Without Payment: the buyer gets access back now. The renewal invoice stays open, and the subscription still ends when the hold does if it is not paid.
Renewal emails
The Buyer Emails card turns each email on or off. Emails go out in the buyer’s language from your store’s email address.What each renewal delivers
The On Each Renewal section of the product editor sets what a paid renewal does with what the buyer already has.- With Send a new key, renewals need stock too. The editor shows how many subscribers renew in the next 30 days next to the keys left.
- A paid renewal without stock waits for it: the subscription shows Paid · waiting for stock, and the key goes out when you restock.
- Discord and Telegram roles stay as long as the subscription is paid.
- Dynamic delivery calls your webhook on every paid renewal with
renewal: true.
Per variant
Each variant can renew its own way. In the variant dialog, On each renewal is Same as product by default. Pick another choice to override the product for buyers of that variant, for example send the files again on “Pro” and deliver them once on “Basic”.- A change applies to the next renewal of every running subscription of that variant.
- A plan change moves the subscription to the new variant’s setting.
- When a variant sends goods again, the dialog shows how many of its subscribers renew in the next 30 days and how much stock is left. Renewals take stock from the variant the buyer subscribed to.
- A product whose running subscriptions renew from the product’s own stock cannot get variants until those subscriptions end.
- Subscriptions that deliver keys cannot have variants yet. Create a separate product per plan.
Deleting a variant
A variant that has subscriptions, a plan change or an open subscription order cannot be deleted. The dashboard says This option has subscriptions or open orders. Hide it instead of deleting it. Set the variant to on hold to stop new sales. Private only hides it from the product page: a direct link to the variant still sells it. Canceled subscriptions still count.Discounts on subscriptions
Coupons
A coupon’s On subscriptions setting decides how many of the buyer’s payments get the discount:- Renewals do not count as a new use of the code.
- A coupon that takes money off payment fees covers the first payment only. Renewals pay the full fee.
- A 100% coupon never makes a subscription payment free. To let buyers start for free, add a free trial.
- Coupons created before this setting existed discount every payment. The dashboard points them out once so you can review them.
Promotions
A store promotion in Discounts › Promotions has the same choice, plus Not on subscriptions: subscription products then pay the full price.One discount per line
A subscription line takes one discount. When a buyer enters a code and a store promotion also applies to the line, the better discount for the buyer wins:- The lower discounted payment wins.
- On the same payment, the discount that covers more payments wins (Every payment beats any number).
- On a full tie, the code wins.
Running discounts
The subscription detail page shows a Discount card while a discount runs, with the code and how many payments it has left. The billing history marks each discounted payment, in your dashboard and in the buyer’s account. End discount stops it early. The card tells you which renewal is the first at full price. A renewal invoice that is already out keeps its discounted price. This cannot be undone. PayPal subscriptions work the same as card subscriptions: the discount runs for the payments you set, carries over a plan change the same way, and you can end it early. Two differences:- PayPal bills a new price only from 10 days after the change. After End discount, the first full-price payment is the first one 10 days or more after you end it, or the first one after the discounted payments run out if that comes earlier. The card shows that date. A payment PayPal takes before it bills the discounted price and does not use up one of the discounted payments.
- While a PayPal plan change waits for the buyer’s approval or the next renewal, End discount is refused. End it once the change has taken effect.
Plans and plan changes
Buyers change their plan in their account under Subscriptions › Change plan. You change it from the subscription detail page with Change Plan. Both see the exact amount before they confirm, and the charge is that amount or nothing.- Under $1.00 due today (or the same in the subscription’s currency), the switch is free.
- A discount from checkout moves to the new plan when it covers that plan: the code includes the new plan, or the discount is a store promotion. A discount on a number of payments also needs the same billing interval, because its payments left count periods. Its payments left are discounted on the new plan’s price. The charge for the change itself is not discounted. Otherwise the change ends the discount and the new plan bills at its listed price.
- Card subscriptions (Stripe) are charged at once. If the bank declines or asks for a confirmation that the buyer does not give, nothing changes.
- Subscriptions billed by invoice (crypto, balance) get a change invoice. The buyer pays it within 24 hours, at most until the period ends. The plan switches when it is paid. Otherwise the invoice expires and nothing changes.
- Refunding a change charge does not switch the plan back. Schedule the old plan with Change Plan at the next renewal instead.
- A plan cannot change while the subscription is past due, paused or ending, or while a change invoice is open. On PayPal, only the buyer can change the plan (see PayPal plan changes). On Stripe, a move to a shorter interval is not offered.
- Only plans without a stock limit are offered. A plan with limited stock does not show up as a change option.
PayPal plan changes
PayPal buyers change their plan from their account. You cannot change a PayPal plan from the dashboard.- Every PayPal change starts at the next renewal, upgrades too. Nothing is charged now.
- The buyer approves a new PayPal subscription for the new plan once, on PayPal. The approval link is valid for 72 hours, and at the latest until about 3 hours before the renewal.
- Once approved, the old PayPal subscription is canceled and the new plan starts with the next payment. The change cannot be undone after approval.
- If the buyer does not approve in time, nothing changes.
Pause and resume
A paused subscription has no renewal and no access. Pausing works on every payment method except PayPal.Buyers pause from their account
Turn on Pause in the Buyer Actions card, then set the limits:
The pause dialog shows the buyer the dates with no payment, the day billing starts again and the price, and how many pauses they have left. The subscription resumes on its own at the end of the pause. The buyer can resume earlier at any time, or call off a pause that has not started yet.
You pause from the dashboard
Pause on the subscription detail page takes an optional Resume On date. Without one, the subscription stays paused until you resume it. Your pauses and pauses made through the Developer API do not count toward the buyer’s yearly limit, and only you can lift them. Resume Subscription starts billing again from today. Days left from a pause that started early are added on.When a pause is not possible
A subscription cannot be paused:- during a trial,
- while a renewal is open, being paid, or on hold,
- while a plan change or a cancellation is scheduled,
- while another pause is scheduled or running,
- by a buyer who has used every pause for the year.
Cancellation
Buyers can cancel at any time from their account. You can’t turn this off: buyers in Germany must be able to cancel online (§312k BGB). Cancellation behavior depends on the gateway the buyer used:- Stripe / crypto: cancellation is at period end. The buyer keeps access until the period they paid for runs out, then the subscription moves to canceled. There is no refund for the current period. Until then, the buyer or you can undo the cancellation.
- PayPal: cancellation is immediate. PayPal cancels the subscription on their side right away, and the Shoppex subscription moves to canceled at the same time. The buyer loses access immediately. There is no period-end grace.