Help / Reseller program
Issuing free trials to your customers
You eat the wholesale upfront; the cascade converts or PAST_DUEs on day N+1.
From /dashboard/reseller/trials you can issue a free trial to any of your customers. The form picks a customer, plan, region, and trial length (capped at your tier's trialLengthDays). Issuing a trial:
Debits your reseller wallet for the wholesale price upfront (CHARGE_TRIAL on the ledger). You eat the cost — that's the deal.
Creates a server in PROVISIONING with
isTrial = trueand atrialExpiresAtstamp.Customer gets an email; the dashboard server shows a "trial" badge.
Customer is not charged anything during the trial.
What happens when the trial ends
Daily at 11:00 UTC, the cascade processor walks every server where trialExpiresAt <= now AND isTrial = true. For each:
Customer wallet covers retail → CONVERTED. We debit them at the renewal retail price, clear the trial flags, set
renewsAtto today + 30 days, and email them a conversion receipt. Server keeps running.Customer wallet empty → PAST_DUE. Server transitions to PAST_DUE, dunning takes over (suspend at day 7, terminate at day 30 — the platform-wide policy applies). Customer gets a "top up to continue" email.
Monthly allowance
Your tier sets a monthlyTrialAllowance (default 5; −1 = unlimited). The issue-trial form shows your remaining count for the current calendar month and refuses to issue beyond it. The counter resets on the 1st of each month.
One-trial-per-lifetime per customer
Each customer can receive exactly one trial across their account lifetime. The form filters customers who already burned their lifetimeTrialUsedAt stamp. If you need to issue a second trial in a legitimate edge case, contact platform support — only an admin can clear that flag.
Tags: reseller, trials