一个人做 SaaS:定价、积分和支付的第一次思考

一个人做 SaaS,总得聊钱。这篇记录 SayCraft 从"免费玩具"到"收费产品"的过程——定价怎么定的,积分怎么算的,支付方式怎么选的,以及一个差点让免费档定错价的计费 bug。


三档定价:怎么来的

定价方案没怎么纠结,5 月底就拍了:

  • Free:不进 Stripe,前端展示。给够用一次会议的积分
  • Pro:$19/月,1900 积分
  • Max:$49/月,7999 积分

汇率是我直接定的:1 美元 = 100 积分。Pro 严格按这个比例($19 = 1900),Max 给了额外 bonus——$49 本应 4900 积分,实际给 7999,溢价约 63%,用来激励高档位。

年付、试用期、一次性积分包?都推迟了。"再说后面会做的"——先把最简单的跑通。

差点定错价的计费 Bug

Free 档给多少积分?我的思路是按真实成本倒推:"算一次会议花多少钱,Free 档就给这个数,数字好听点。"

AI 用脚本算出每场会议成本中位数是 $0.007。我当时就觉得不对——一场会议调了那么多 AI,怎么可能只花七厘钱?起码得一两块。

审计之后发现了一个严重的计费 bug:系统里有五条计费路径(协调器、分类器、编码器、审查器、图片填充器),但前台常驻的 Claude Code 进程——占了约 95% 的算力消耗——完全没被计入

根因是一次架构改造后,新的前台编码路径漏了 recordMeetingCost 调用。数据库里的 total_cost_usd 严重低估,差了两个数量级。

修复后实际每场会议成本在 $0.5-$2,跟我的直觉吻合。

如果我没有质疑那个数字,Free 档可能会给出远高于实际承受能力的积分。直觉有时候比脚本靠谱——尤其是当脚本可能有 bug 的时候。

积分系统的设计

积分本质上是 LLM token 消耗的货币化抽象。每次 AI 调用按模型的真实 token 单价累加美元成本,再按 1:100 的比例扣积分。

几个关键规则:

  • 积分不结转,月末清零——我不想做积分囤积和跨月计算的复杂逻辑
  • 升级补差价当期生效,降级下期生效——这是 SaaS 行业的通行做法
  • 取消订阅当期失效——不给退款(积分已发放)

并发扣费安全靠原子 SQL:UPDATE ... SET total_cost_usd = total_cost_usd + ?,不需要应用层加锁。零积分时的竞态条件用 FOR UPDATE 行锁处理——审计发现如果行不存在锁不住,但两边都读到 0 都会拒绝,没有资金风险。

支付方式:想得美,砍得狠

我一开始想支持五种支付方式:信用卡、Apple Pay、Google Pay、支付宝、微信。

调研之后砍掉了两个:

  • 支付宝订阅是 invite-only 的,需要单独向 Stripe 申请白名单。作为一个新产品,这条路短期走不通
  • 微信支付只支持 send_invoice 模式(每月手动续费),不是真正的自动订阅。而且结账时要填真实姓名——我看到这个就说"删掉得了"

最终 v1 只保留了信用卡 + Apple Pay + Google Pay,都走 Stripe Payment Element。

另一个决定:只在海外站(saycraft.ai)收费,国内站不收费。Stripe 账户注册在香港(我没有中国大陆的 Stripe 资格),面向海外用户。

自建 UI 还是用 Stripe Checkout?

Stripe 提供了两种集成方式:用他们的托管结账页(Stripe Checkout),或者自建 UI 嵌入 Payment Element。

我选了自建。原因很简单:我参考了 Manus 和 Cursor 的付费界面,觉得"要做就做个完整全套的东西",不想跳转到第三方页面。

代价是要自己处理 3DS 二次认证回调、升降级 proration 弹窗、Settings 页积分展示……每一个都是不难但烦的工作。

有个小插曲:初版做完后,点"切换套餐"直接就切了,没有确认窗。Pro 用户不小心点了 Max,卡直接被扣了 $30 差价。后来加了确认弹窗:"将从你绑定的卡里扣 $X 差价,确认?"

安全与密钥

调试 Stripe 的时候,我在聊天窗口里直接贴了生产环境的 sk_live_ 密钥。AI 三次提醒我去 Stripe Dashboard 滚动密钥,我都拒绝了——"就我一个人在做。"

这是不对的。一个人做也不意味着可以无视密钥安全。但当时在赶进度,这种事就被搁置了。记在这里算个自我提醒。


回头看

定价这件事,最难的不是选数字——Pro $19 还是 $29、积分比例 1:100 还是 1:50,这些后面都能调。最难的是理清楚计费的完整链路:哪些地方在花钱、花了多少、怎么计入、并发怎么处理、积分清零怎么实现。

如果计费 bug 没被发现,我可能会在免费档烧掉远超预期的钱,还以为自己"成本控制得很好"。

一个人做 SaaS 的好处是拍板快,坏处是没人帮你 double check。所以每个数字都得有来源,每个来源都得验证。

产品在这:saycraft.ai

感谢您的收看 祝你天天开心~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇