TTRPG Manager

Billing and promo codes

Premium has two checkout paths:

  • Campaign lifetime premium: $20 once for one campaign.
  • Premium user: $5/mo for every unarchived campaign the user owns while the subscription is active.

Upgrade flow

Campaign owners open the Premium page and choose either Buy for this campaign or Start Premium user. Checkout is hosted by Stripe.

When Stripe confirms a campaign lifetime checkout, that campaign stays premium after ownership transfer. When Stripe confirms a Premium user checkout, the owner's unarchived campaigns are premium while the subscription is active.

Premium user subscriptions can be managed in Stripe Customer Portal. Subscription-sourced premium campaigns get a 7-day grace period to renew, buy campaign lifetime premium, or transfer to a Premium owner if the subscription stops granting access.

Promo codes

Promo codes are entered in Stripe Checkout. A fully discounted checkout still goes through Stripe so the premium path has an audit trail and redemption tracking.

If you run the app, use the human runbook in runbooks/generate-promo-code.md to create Stripe promotion codes.

Billing ownership

Only the campaign owner chooses a premium path for that campaign. Campaign lifetime premium transfers with the campaign. Premium user benefits stay with the subscribed account and apply only to campaigns that account owns.

Grace period

If a Premium user subscription stops granting access, subscription-sourced premium campaigns keep premium behavior during a 7-day grace period. During that window the owner can renew the subscription, buy campaign lifetime premium, or transfer ownership to another Premium user.

If grace ends without a premium path, campaign data remains preserved and premium actions pause.