Reaction
Subscription Prototype

Signal without lag

先跟踪你关心的信号,再决定自己需要多快地做出反应。

Reaction 现在已经接入三档订阅原型:Free 延迟查看、Plus / Pro 实时查看,以及按月刷新的通知积分。

Plan SurfaceStripe-backed
00
Free 延迟 2 小时
01
Plus / Pro 实时访问
02
积分按月刷新

价格目录从 Stripe 读取,并通过 Vercel 数据缓存复用,避免 landing 每次请求都直连 Stripe。

现在同一套权益模型同时控制 feed 延迟、公开流上限和通知投递能力。

Feed

Free 用户只在延迟只读通道里查看内容。

工作台 feed 会对 Free 账号隐藏最近两小时的内容,而付费账号会直接读取实时流。

Streams

付费用户可以订阅更多公开流。

公开流上限与定价目录使用同一套套餐状态,原型已经把订阅上限落实到了工作台动作层。

Credits

邮件通知真实扣积分,重成本渠道先保留 mock。

邮件已经接入实际扣减。Push、SMS 和 Voice 的成本模型也已经预留,只差后续投递适配器。

Stripe 实时定价目录

这里刻意把 UI 做得很轻,重点是把实时价格、年付折扣和套餐权益跑通。

Pricing shown in USD for US.

当前还没有配置 Stripe 运行时环境变量,所以页面显示的是 fallback 套餐数据。

free

Free

Delayed read-only access with no notifications.

内容延迟
2h
公开流上限
3
月度积分
0
通知能力
Disabled

No card required

登录后订阅

pro

Pro

Higher stream cap, more credits, and full realtime access.

内容延迟
Realtime
公开流上限
25
月度积分
480
通知能力
Email live

Pending Stripe price

登录后订阅

即使按年付费,积分依然按月刷新。

Checkout、Webhook 同步、积分刷新和工作台权限现在已经串成一条闭环。

Stripe Checkout 创建订阅,Webhook 回写用户套餐状态,积分与账期解耦按月刷新,工作台直接读取最终权益状态并决定能否订阅通知与是否显示实时内容。

  1. 01

    通过 Vercel 缓存从 Stripe 读取套餐目录。

  2. 02

    为 Plus / Pro 创建订阅 Checkout Session。

  3. 03

    通过 Webhook 切换套餐、积分和访问模式。

登录后即可创建订阅、管理公开流并验证不同套餐下的 feed 权限。

打开工作台