Skip to content

价格调整影响评估报告

审阅状态:已完成三轮内部审阅,重点检查覆盖范围、一致性和表达清晰度。

1. 目的

本文旨在评估 2026 年 4 月 5 日生效的价格调整需求对当前 MysticX 造成的影响,并梳理支持全新会员与积分体系所需的各项系统调整。

本文基于以下资料:

  • z-2-reqirements/20260405 会员和积分 价格调整 包含IOS第一版本.docx
  • 当前仓库中的运行时配置与产品代码
  • docs/mobile-app-development-plan.md 中已有的移动端规划内容

本文档仅作为技术调研与前期规划指南,未包含具体的代码库逻辑修改。

2. 需求摘要

2.1 需求文档中的目标商业模型

Web 端

保持当前四档积分包,继续原价销售。

目标会员结构如下:

方案目标价格目标积分说明
Gold 月付$19.996,000循环订阅
Diamond 月付$69.9930,000循环订阅
Gold 年付$89.99100,000一次性即时发放全部积分
Diamond 年付$299.991,000,000一次性即时发放全部积分

移动端 v1 (iOS & Android)

移动端不提供积分包。

移动端不提供 Diamond 等级。

移动端仅提供 Gold 等级的订阅方案:

方案目标价格目标积分说明
Gold 周付$7.991,500含 3 天免费试用
Gold 月付$19.996,000订阅
Gold 年付$89.99100,000一次性即时发放全部积分

2.2 需求隐含的产品方向

  • Web 端将继续充当灵活、多元的售卖渠道。
  • 移动端将直接转型为侧重订阅模式的精简商店。
  • 年付方案将成为业务转化策略中的核心主推项。
  • 赠送积分将成为比以往更为关键的转化杠杆。
  • 系统默认推荐位应明显向 Gold 年付方案倾斜。

3. 需求中的关键歧义

原始需求资料的方向大体明确,但在细节上存在几处规则冲突或决策缺失,必须在开发阶段前解决并确认。

3.1 周会员范围存在冲突

在主价格模型中,已明确 Gold 周付方案为 移动端专属。

但技术备忘部分又提到 Web 端会员页可能要支持周、月、年切换,且 Gold 和 Diamond 都要有。这与前面的平台拆分方案不一致。

3.2 年付积分回收逻辑不明确

原文要求年付方案的积分将一次性全额发放,同时又隐含提到如果取消计划可能需要做积分回收。

目前未定义的问题包括:

  • 是用户主动取消订阅即可触发回收,还是仅在产生退款/拒付行为时才启动回收程序
  • 若用户已消费部分获赠积分,剩余积分及账户余额的具体回收逻辑将如何界定
  • 系统是否允许出现借额或负值的积分余额状态

3.3 每日奖励是否调整并不清楚

当前系统仍有按会员等级区分的每日 Card of the Day 积分奖励。

本次需求的核心调整点集中在订阅方案所附属的赠送积分上,但原始资料里又出现了类似 80 / 100 这种旧日奖励数字,和当前代码及主方案都不一致。

3.4 跨平台权益规则缺失

需求明确说明 移动端不支持购买 Diamond 会员,但并未说明在 Web 端已购买 Diamond 权益的用户,在登录 移动端时其身份与权益是否应继续被识别和生效。

合理默认假设应该是:

  • 移动端不售卖 Diamond
  • 移动端仍然承认用户从 Web 获得的 Diamond 权益

但这条需要明确确认。

4. 当前系统基线

4.1 已确认的当前线上价格与积分基线

当前 Web 运行时仍使用旧价格结构:

项目当前线上状态
Web Gold 月付$19.99
Web Diamond 月付$69.99
Web Gold 年付$167.92
Web Diamond 年付$587.92
Gold 月赠送积分4,000
Diamond 月赠送积分24,000
积分包2,000 / 5,000 / 12,000 / 30,000
每日 Card of the Day 积分Free 300 / Gold 500 / Diamond 1,000

4.2 已确认的运行时架构

当前会员系统是典型的 Web 优先、Stripe 优先架构。

已确认特点:

  • Web 订阅由 Better Auth + Stripe 驱动。
  • 月度订阅积分通过 Stripe 相关订阅事件发放。
  • 一次性积分包通过 Stripe Checkout 购买。
  • 当前会员页围绕 Free、Gold、Diamond 三档和月付 / 年付切换构建。
  • 当前数据库只定义了三档会员:FREEGOLDDIAMOND

4.3 已确认的 移动端状态

当前仓库中并没有真正上线的 移动端商业化集成。

已确认结论:

  • 没有 RevenueCat 运行时集成。
  • 没有 StoreKit、App Store Server 或 Google Play Billing 集成。
  • 没有 移动端商品目录的运行时代码。
  • 没有 移动端专用订阅回调链路。
  • 现有 移动端内容主要停留在规划文档,不是已上线代码。

这明确表明,兼容移动端 (iOS 和 Android) 并不仅是一项简单的配置修改任务,而应被视为全新开发主线。

4.4 已确认受影响的系统面

以下仓库区域已确认会直接受到本次价格调整影响。

系统面当前职责为什么会受影响
config/stripe.ts订阅展示价格、价格 ID、积分包定义、方案映射Web 价格主来源和方案映射都要调整
lib/credits.ts每日奖励和订阅赠送积分赠送数值和赠送时机假设都要调整
lib/auth.tsxStripe 订阅生命周期与 Webhook 发积分逻辑年付一次性发放、周 Gold、未来移动端来源订阅都会影响这一层
app/[locale]/(main)/membership/_components/PricingSection.tsx对外会员价格卡片价格、赠送积分、推荐逻辑和文案都要更新
app/[locale]/(main)/membership/_components/ComparePlansSection.tsx会员对比矩阵赠送积分和方案定位都要更新
app/[locale]/(main)/membership/_components/FAQSection.tsx会员 FAQ 文案方案解释和计费说明都要更新
components/CreditPurchaseModal.tsxWeb 积分包购买体验价值说明需要重算,移动端不应照搬这一套购买体验
app/api/v1/credits/purchase/route.ts一次性积分包 Stripe 购买接口Web 积分包继续有效,但平台策略必须表达清楚
app/api/v1/credits/route.tsapp/api/v1/card-of-day/route.ts积分余额与每日积分展示 / 发放每日积分值可能需要确认或同步调整
app/api/v1/membership/route.ts会员状态接口跨平台统一权益后可能需要扩展
prisma/schema.prisma会员等级与积分流水模型如果要更精细区分发放来源,可能需要扩展
docs/credit-system*.mddocs/stripe-integration*.mdREADME.md对外与对内文档所有旧价格引用都要更新
docs/mobile-app-development-plan*.md移动端路线图与 IAP 策略必须与真实的移动端 v1 (iOS & Android) 商业方案保持一致

5. 按系统区域拆解影响

5.1 计费与订阅配置

计费影响

高。

当前订阅层默认假设是:

  • Web 端卖两档付费会员:Gold 和 Diamond
  • 只存在月付和年付两种周期
  • 赠送积分是跟随订阅周期发放的

新的商业模型引入了:

  • 大幅降低的 Web 年付价格
  • 大幅提高的赠送积分数值
  • 年付方案改成一次性整笔发放积分
  • 移动端专属周 Gold 方案和试用
  • 移动端商品结构与 Web 商品结构不一致

计费调整

  • 更新 Web 价格常量和展示价格。
  • 重构赠送逻辑,让年付支持一次性发放。
  • 为不同方案增加更明确的元数据,区分:
    • 月度循环赠送
    • 年付一次性发放
    • 移动端周付发放
    • 平台专属售卖性
  • 引入平台感知的商品模型,不能再假设一套目录通吃所有平台。

计费风险

若仅更新前端展示价格而未同步修改后端的积分赠送逻辑,系统将出现“价格已更新,但权益积分仍遵循旧规则”的严重业务错配。

5.2 积分台账与发放逻辑

台账影响

关键。

这次变化不仅是价格调整,而是订阅积分语义本身发生变化。

当前行为:

  • 月订阅按计费周期发积分。
  • 一次性购买在支付完成后发积分。

目标行为:

  • Web Gold 年付一次发 100,000。
  • Web Diamond 年付一次发 1,000,000。
  • 移动端 Gold 年付一次发 100,000。
  • 移动端 Gold 周付按周发 1,500。

台账调整

  • 将月赠送逻辑和一次性年付赠送逻辑彻底分开。
  • 为积分流水增加更清晰的标识,用来区分:
    • Web 年付一次性赠送
    • 移动端周付赠送
    • 移动端年付一次性赠送
    • 初次购买与续费
  • 在开发前就先定义退款和积分回收规则。
  • 为大额一次性赠送增加风控与幂等保护。

台账风险

  • Webhook 重试导致重复发放整笔积分。
  • 用户在退款前已消耗大量一次性积分。
  • 升降级路径造成重复或错误补发。

台账建议方案

  • 按支付来源维护幂等键。
  • 在实现层面把“年付一次性赠送”视为独立逻辑,而不是沿用月赠送逻辑。
  • 上线前确认是否允许负积分,以及如何处理回收失败。
  • 给财务和客服准备可审计的回滚记录。

5.3 Web 会员页与价格展示

Web 价格页影响

高。

当前会员页基于 Free、Gold、Diamond 三栏加月付 / 年付切换。新的价值表达会明显变化。

Web 价格页调整

  • 更新展示价格和赠送积分数量。
  • 更新对比表文案,明确说明年付积分是一次性到账。
  • 加强对年付方案的视觉推荐。
  • 更新推荐位和默认选中逻辑。
  • 更新最低单价、最佳价值等文案。
  • 让积分包和会员价值关系重新对齐。

来自需求的 Web UX 指向

原文明确倾向:

  • 默认聚焦 Gold
  • 默认推荐 Gold 年付
  • Diamond 侧重高效率或高折扣表达
  • 年付必须清楚提示“一次性发满积分”

Web 价格页风险

如果 Web UI 只改一部分,用户会看到价格、赠送积分、对比说明彼此不一致,转化和信任都会受损。

5.4 积分包与积分包定位

积分包定位影响

Web 中等,定位层面偏高。

积分包在 Web 仍保留且价格不变,但它和会员方案之间的关系会被重新定义。

积分包定位调整

  • 重新计算所有“最佳价值”“单价最低”文案。
  • 重新检查积分包与会员的价格对比逻辑。
  • 更新 FAQ 和说明文案,让用户理解:
    • 积分包仍适合灵活补充
    • 会员现在提供更强的综合积分价值

积分包定位风险

如果这部分文案没有同步重算,最初触发本次项目的“价格倒挂感知”问题会再次出现。

5.5 移动端 v1 (iOS & Android) 兼容性

移动端兼容影响

关键。

当前仓库没有真正上线的 移动端商业化链路。要支持 移动端 v1 (iOS & Android) 定价,需要新建或补齐完整移动端计费架构。

移动端兼容调整

  • 实现符合 Apple 和 Google Play 规范的应用内订阅购买。
  • 增加以下 移动端商品支持:
    • Gold 周付,带 3 天试用
    • Gold 月付
    • Gold 年付
  • 从移动端购买界面排除积分包。
  • 从移动端购买界面排除 Diamond。
  • 支持恢复购买。
  • 支持试用态识别。
  • 支持 App Store 与 Google Play 续费、取消、宽限期、退款等生命周期事件。

移动端兼容建议方向

现有移动端规划文档已经倾向 RevenueCat。除非业务明确决定自己直连 Apple 购买体系,否则 RevenueCat 仍是最合适的方案。

移动端兼容风险

  • 购买流程不完整或表达不清,导致 Apple 审核被拒。
  • Web 与移动端订阅状态不一致。
  • 试用状态处理错误。
  • 没有恢复购买入口。

App Store 与 Google Play 应用内付款政策约束

这是一条平台政策的硬性边界,不是设计偏好问题。它对支付墙的构建方式以及如何处理已在 Web 端付费的用户,有直接且不可妥协的影响。

Apple App Store 指引 3.1.1 规定:iOS 应用内销售的所有数字商品和订阅,必须通过 Apple 的应用内购买(IAP)完成。应用内不得:

  • 添加任何按钮、链接或文字,引导用户前往外部网站(包括自家官网)完成付款。
  • 告知用户在其他渠道订阅更便宜或有其他付款方式可选。
  • 以任何形式暗示用户"去 mysticx.com 订阅"或"前往 Web 端管理付款",即便措辞委婉,只要被 Apple 审核认定为绕过 IAP 的引导,均属违规。

Google Play 结算政策 对通过 Play 商店分发的 Android 应用,强制执行相同要求。

对 MysticX 的实际影响:

用户状态App 可以展示的内容App 绝对不能展示的内容
免费用户(从未在任何平台付款)Gold 周付 / 月付 / 年付 的 IAP 购买按钮任何 Web 订阅入口、Stripe 字样或外部结账链接
通过 IAP 订阅的 Gold 用户当前 Gold 会员状态;通过系统订阅设置取消任何"前往 Web 端管理付款"的链接
通过 Web/Stripe 订阅的 Gold 用户识别并显示 Gold 会员状态(需接受其权益)Gold IAP 购买按钮(否则会造成重复收费);任何外部付款链接
通过 Web/Stripe 订阅的 Diamond 用户识别并显示 Diamond 会员状态(需接受其权益)Gold IAP 促销入口;任何外部升级链接

"Reader App" 豁免条款在此不适用。 Apple 指引 3.1.3a 允许以消费已购内容为主要功能的 App(例如 Netflix)省略应用内购买流程,也不必提供外部购买链接。但 MysticX 是一款交互式 AI 服务,应用本身即时生成核心价值,很可能无法通过该豁免条款的认定。

"前往 Web 端管理订阅"这句话,什么时候合规,什么时候违规:

  • 合规用法:向已付费用户(Gold 或 Diamond)说明可在官网查看账单历史或取消订阅。这属于账户管理,而非新购引导。
  • 违规用法:对免费用户展示此文字,暗示其可以翻墙绕过 Apple 进行付款。

RevenueCat 能正确处理 IAP 端的逻辑——它统一抽象了 StoreKit 和 Google Play Billing,并提供一套统一的权益层。但 RevenueCat 仅能识别通过自身完成的订阅。通过 Web 端 Stripe 购买的订阅,必须同步到 RevenueCat 或后端权益接口,否则 App 会向已付费用户展示购买界面,造成体验混乱甚至重复扣款风险。

5.6 Web 与移动端的统一权益

统一权益影响

高。

一旦移动端上线,商品目录就变成非对称结构:

  • Web 卖 Gold、Diamond、积分包
  • 移动端只卖 Gold 订阅,不卖积分包

统一权益调整

  • 定义跨平台权益优先级。
  • 允许 Web 购买的 Diamond 在移动端生效。
  • 决定 移动端 Gold 用户是否只能去 Web 购买额外积分。
  • 确保后端会员接口不管购买来源如何,都能返回正确的有效等级。

钻石会员在移动端的体验场景

这个场景需要明确设计,原因在于:移动端 App 本身不销售 Diamond,普通新用户无从得知 Diamond 是什么。然而在 Web 端付费的用户中,有相当一部分是 Diamond 会员,他们同样会登录移动端 App。

Diamond 用户登录移动端后应该看到什么:

  • 后端会员接口必须根据服务端数据库记录正确识别其账户等级为 Diamond,不受购买来源影响。
  • 所有依赖 Diamond 等级的积分奖励、每日福利和功能权限,均应按 Diamond 标准生效,与 Web 端一致。
  • 会员升级页或订阅管理页不应出现空白状态或报错。由于移动端不销售 Diamond,对于已持有 Diamond 的活跃用户,该界面应当:要么完全隐藏升级入口,要么展示一张只读状态卡,说明"您是 Diamond 会员,如需管理订阅请前往 Web 端"。
  • 不应向 Diamond 用户展示任何引导其订阅 Gold 的促销内容——Gold 是降级操作,对 Diamond 用户推送此类内容会造成困惑并损害信任。

绝对不能发生的情况:

  • Diamond 用户不得因移动端权益层未能识别 Web 端订阅,而被错误地显示为 Free 或 Gold 等级。
  • Diamond 用户不得被推送 Gold 购买流程,暗示其现有订阅无效或已过期。
  • App 不得仅因移动端 IAP 商品目录只定义了 Gold SKU,就静默地将 Diamond 用户的每日积分奖励截断至 Gold 标准。

后端要求:

会员状态接口(app/api/v1/membership/route.ts)必须以服务端数据库中的会员状态作为唯一事实来源返回等级,而不能由移动端 App 自行从 IAP 本地收据中推断等级。移动端必须消费该接口的返回数据,而非依赖本地收据验证结果来决定用户功能权限。

统一权益风险

如果没有统一权益层,用户可能在一个平台是 Gold,在另一个平台却显示 Free 或只享受部分功能。

5.7 通知、CRM 与分析

分析与通知影响

中高。

原始资料明确提到会员升级通知和每日积分提醒。

分析与通知调整

  • 增加会员权益升级通知。
  • 如果每日领取仍是重要卖点,则为移动端增加 Push 提醒方案。
  • 跟踪试用开始、试用转正、周付转化、年付转化、退款、拒付等指标。
  • 如果当前已有埋点或看板,需要同步调整事件命名和统计口径。

分析与通知风险

如果分析体系还停留在旧商品模型,业务将无法判断新价格策略是否真的有效。

5.8 法务、客服与文档

法务与客服影响

高。

本次变化直接影响用户对计费、权益发放和退款规则的预期。

法务与客服调整

  • 更新价格文档。
  • 更新客服 FAQ。
  • 复核服务条款和退款表述。
  • 为年付一次性发积分增加明确说明。
  • 在需要的地方增加移动端平台差异说明。

法务与客服风险

如果产品一次性发放 100,000 或 1,000,000 积分,但法务与客服文案模糊,售后压力和退款争议会显著增加。

6. 必要调整项汇总

6.1 产品与业务决策

  • 最终确认周会员是否只在移动端上线。
  • 最终确认年付退款与积分回收规则。
  • 最终确认每日奖励是否需要同步调整。
  • 最终确认 移动端是否承认 Web 购买的 Diamond。
  • 最终确认 Web 价格页的推荐位与默认展示逻辑。

6.2 Web 运行时调整

  • 更新价格常量。
  • 更新赠送积分数量。
  • 更新年付一次性发积分逻辑。
  • 更新对比逻辑和方案标签。
  • 重新计算所有单价类文案。

6.3 移动端运行时调整

  • 实现真实的移动端计费集成。
  • 增加试用支持。
  • 增加周 Gold 商品处理。
  • 增加恢复购买支持。
  • 增加后端统一权益同步。

6.4 UX 与内容调整

  • 更新会员页定位和表达。
  • 更新 FAQ 与客服话术。
  • 更新年付方案营销文案。
  • 增加一次性发放提示。
  • 更新移动端规划文档和上线说明。

6.5 运营与监控调整

  • 增加退款处理规则和流程。
  • 为客服补充年付争议处理手册。
  • 增加新商品类型的分析事件。
  • 为上线周添加订阅与积分异常监控。

7. 建议实施路径

Phase 0:先锁业务规则

  • 解决第 10 节全部开放问题。
  • 在编码前冻结最终商品矩阵。
  • 明确退款和积分回收规则。

Phase 1:Web 价格与赠送逻辑重构

  • 把价格与赠送配置收敛成一个可靠的单一事实来源。
  • 实现年付一次性发积分。
  • 更新 Web 会员页与积分包文案。
  • 验证升级、降级、取消、续费路径。

Phase 2:移动端商业化底座

  • 实现 RevenueCat 或等价的 IAP 层,统一接入 Apple App Store 与 Google Play Billing。
  • 增加移动端 Gold 周付、月付、年付商品。
  • 增加 3 天试用支持。
  • 增加恢复购买和生命周期处理。

Phase 3:跨平台权益统一

  • 统一 Web 与移动端的订阅状态。
  • 测试跨平台登录与权益同步。
  • 确认移动端对 Diamond 的识别行为。

Phase 4:文档、客服与监控

  • 更新所有价格与计费文档。
  • 更新客服 FAQ 与答复模板。
  • 增加上线看板与异常告警。

8. 潜在挑战与解决建议

挑战为什么重要建议方案
年付一次性发大量积分会放大退款风险用户可能先花掉大量积分再发起退款上线前先定义回收规则,并明确是否允许负积分
Web 与 移动端商品目录不同容易造成用户理解混乱和权益漂移建立平台感知商品目录和统一权益服务
周付 Gold 引入新计费周期当前运行时默认主要围绕月付 / 年付逻辑把周付视为独立方案类型,不要强行塞进月付逻辑
当前没有试用支持试用态 bug 会直接造成客服和计费事故在沙盒环境完成试用、续费、取消全链路测试后再上线
价格相关文案分散在多个位置部分漏改就会出现前后不一致上线前做一次完整价格文案扫表
已有老年付用户可能仍在旧价格迁移规则不清会引发争议提前定义是否保留旧价或迁移到新价
年付价值提升非常激进利润结构和滥用风险都会变化上线后重点监控转化率、退款率、拒付率、消耗速度
移动端不卖积分包用户可能仍希望在手机内补充积分在 App 文案和客服文档中明确平台策略

9. 建议 Todo 清单

  • 锁定 Web 与移动端的最终商品矩阵。
  • 确认周会员是否只在移动端上线。
  • 确认年付退款与积分回收规则。
  • 将价格与赠送配置收敛为单一事实来源。
  • 实现年付一次性发积分逻辑。
  • 重新验证 Stripe 订阅生命周期行为。
  • 更新 Web 会员、积分包、FAQ、计费相关文案。
  • 实现移动端 IAP 基础设施。
  • 实现移动端 Gold 周付和 3 天试用。
  • 实现恢复购买与跨平台权益同步。
  • 增加周付、年付、试用、退款、平台来源等分析事件。
  • 为上线周准备客服和监控方案。

10. 开发前必须确认的问题

  1. 周会员是否只在移动端上线,还是 Web 也要卖周 Gold 甚至周 Diamond?
  2. 年付方案取消、退款、拒付时,未使用的一次性积分是否要回收?
  3. 如果需要回收,但用户已花掉部分或全部积分,应该如何处理?
  4. 当前每日 Card of the Day 积分是否保持不变,还是也要一起调整?
  5. 移动端虽然不卖 Diamond,但是否要承认用户在 Web 购买的 Diamond?
  6. 移动端用户是否完全不能在 App 内购买额外积分,还是允许通过 Web 间接补充?
  7. 年付一次性积分是只在首次购买发放,还是每次年付续费都重新发满?
  8. 已有旧价格年付用户的迁移策略是什么?
  9. Web 会员页是否始终默认 Gold 年付,还是只对未登录和 Free 用户默认推荐?
  10. Diamond 年付在文案上应该强调“75% off”“最佳价值”还是其他表达?
  11. 移动端的 3 天免费试用是否只给周 Gold,还是月 Gold 也需要?
  12. 移动端订阅生命周期最终由哪个系统承接:RevenueCat、直接 App Store 处理,还是其他服务?
  13. 分销、邀请、佣金体系对移动端购买是否有特殊处理要求?
  14. 法务与客服是否需要单独增加“年付一次性发积分”的专项政策说明?

11. 最终评估

这次价格调整是一次较大的产品模型变化,但 Web 端仍然可控,前提是把它当作“价格与权益模型重构”,而不是简单改几个数字。

Web 端的核心工作主要是:

  • 价格重构
  • 赠送逻辑重构
  • UX 与文案更新
  • 退款与政策澄清

移动端的工作量明显更大,因为底层计费基础设施尚未真正落地。要支持 移动端 v1 (iOS & Android) 的周 Gold、试用、无积分包、无 Diamond,需要建设真实的移动端计费系统以及跨平台统一权益层。

建议的上线姿势:

  1. 先锁清业务规则。
  2. 再重构 Web 价格与积分发放逻辑。
  3. 把移动端计费作为独立主线,不要当成 Web Stripe 流程的小延伸。
  4. 只有在退款规则、权益同步和客服文案都明确后,才进入正式上线。