Vivi 的钱从哪来:四档订阅 + Gems 商店 + 礼物 + Your Character。所有付款走 Telegram Stars,钱在 Telegram 平台,不经过我们的银行账户。这一页讲清楚定价、机制、付费漏斗的关键节点,PM/运营/客服都该读完。
计费 v2(2026-04-01 上线)将原本"买💎→买订阅"的两步路径改为"⭐直购会员"一步。当前主要营收渠道:
所有订阅在前端 #/plan 页展示,⭐ 直接付款激活,会员期内不消耗能量:
定价对标 Lucid 等 Telegram 头部竞品。Pro 三月档默认选中、UI 上标 popular。订阅信息存 users.subscription_expires,过期后回退到能量模式。
从 #/store 进入或聊天页内点💎图标。最低门槛 29⭐ 入门档(2026-04 新增):
定义在 app/api/routes.py 的 GEM_PACKAGES 常量。改价格直接改这里 → 推 main → 自动部署。
用户首次购买任意 Telegram Stars 商品(订阅 / Gems)会自动双倍发放💎,Bot 主动发消息告知。机制:
users.first_purchase_done 字段标记,0 = 还没首充详细机制见 Product 篇,简短回顾:
钱不经过我们的银行账户 —— 全部走 Telegram Stars,钱在 Telegram 平台。提现需通过 Telegram 后台。
plan_subscribe 或 gems_purchase_click 埋点 → POST /api/store/create-invoice 带 package_id。
createInvoiceLink(带 currency=XTR、amount=stars、payload=user_id|package_id)→ 返回 invoice URL。
tg.openInvoice(url, callback) 唤起 Telegram 内置支付 UI。callback 必须埋 invoice_callback 事件,状态 paid / cancelled / failed,让 PostHog 能看到取消率。
/webhook,handlers.py 收到 successful_payment。
telegram_payment_charge_id 唯一约束防重复入账;加💎或激活订阅 + 首充翻倍逻辑;写 transactions 表。
用户找客服要退款时,不能直接打回银行卡 / 微信,因为钱从未经过我们这。流程:
refundStarPayment 发起退款(需要 charge_id)users 扣回赠送的💎 / 取消订阅状态PM 关注的核心漏斗,每个节点都有埋点:
PostHog Project ID 377981。每个事件都有 char_name(识别哪个角色带来转化)。禁止事件里上传消息内容字段(NSFW 合规),只传 message_length / message_index 等元数据。
角色列表第 3 位的"自定义角色"卡片,点击扣 99💎 → 用户输入想见的角色名 → LLM 现编人设 → 进入聊天。
历史上锁过 9 个奇幻类角色(Seraphina / Kiera Thorne / Lysandra Velaris 等),仅订阅用户可访问。当前 characters.json 里没有任何 premium: true,相当于全部解锁。这是产品策略变化(先给体验、后做付费转化)。
Admin Dashboard 查 7 日营收:
GET /api/admin/dashboard 返回 revenue_7d_stars(最近 7 天⭐ 总额)SELECT SUM(stars_paid) FROM transactions WHERE stars_paid>0 AND created_at>=date('now','-7 days')