Building in Public2026年3月21日

我花了 300 小时做了 SaaS 系统,只为不在支付上出事故

从测试第 16 个边界场景开始崩溃,到 300 小时后覆盖 30+ 个支付陷阱。代码不难,难的是保证对——尤其是涉及交易的事。

01

2 月下旬的一天下午,我在测订阅这个定价模式的逻辑,继续前天没做完的场景,做完打个勾,往下看。

那天测完第 16 个,我习惯性地往下翻了一眼清单。

还有 30 多个在排队。

我长叹了一口气,眼神无光,呆坐在那里。

不是累,也不是想放弃。

就是忽然有一种很具体的感觉——我以为自己快完成了,但底根本不在那里,因为每个用例不是说测完就行了,还可能引发新的问题。

这种感觉很难描述。不是绝望,是一种更低沉的东西。像你以为走到了路的尽头,结果是个转弯,转过去又是一条路。

那几天吃饭,在嘴里嚼着,可不知道在吃什么,没有味道,头蒙蒙的。

晚上躺下来,脑子里还在过那些场景——这个测了没有,那个边界条件有没有覆盖到,并发的时候 credits 会不会多扣,降级了下周期收的费用对么,弄错了,损失的不仅是用户,收入,还有信誉……

即使睡着了,做梦还在测试。

02

我后来想,这种焦虑的是什么。

代码跑起来没报错,不代表对。

支付这件事,最难的不是逻辑本身,是边界场景太多,多到你不知道自己不知道什么。

  • 乱序 Webhook。用户续费成功,但订阅过期的通知晚到了几秒,直接把刚续的订阅覆盖成过期。

  • 降级后升级。用户降级还没生效,又升级了,系统没清掉 pending 降级,到期后把刚升的级又降回去了。

  • 懒过期漏洞。creem、PayPal 的过期 Webhook 没到,用户订阅早过期了,但系统一直显示"active",白用了两周。

每次遇到这种情况,心里都会有一个念头冒出来,还有多少个我不知道的?

这个问题没有答案。我们不可能穷举所有情况。但上线之后,用户会帮我们找到。

那个时候,我们不在场。我们可能在和家人吃饭,在休息,在旅行。代码在跑,用户在付钱,或者付了钱发现不对,来找我们。

这种感觉,想想就。。。我不想经历。

03

所以我亲力亲为,花了 300 多小时,把这件事做完。

这么多时间,不是全写代码,写代码其实加起来没几天。

300 小时 80% 在测试上,在想,还有什么场景没覆盖到,在构造边界条件,再反复跑,再改,再跑一遍,看看后台订阅表,积分表,看看支付平台的订阅状态,再看看页面展示,这些操作,不知道重复了几百遍了。但是少看一个,后面都是隐患。

独立开发圈的标志性人物 Marc Lou,前几天发了一条推特。

我第一次看到这句话的时候,就深深共鸣了。

是啊,在AI能帮所有人写代码的年代,写代码已经没有门槛了。

阮一峰前几天也发了一个博文,AI 时代,测试是新的护城河。一个工程师花 1100 美元,用一周复刻了 Next.js,代码已经不是护城河,测试用例才是。

的确,代码不难,难的是,保证对,尤其是,涉及交易的事,做错了,不是损失用户利益就是损失自己利益。

能跑和能跑的安心、正确、不给人找麻烦,是 2 回事,那怎么保证,正确?只有通过大量测试才行,别无他法。

代码这件事,现在真的不难。AI能生成,能补全,能重构。但AI不知道你的业务逻辑哪里会出问题,不知道用户会怎么用,不知道并发的时候会发生什么。

它生成代码,但出问题以后,用户失望、投诉、流失,那都是我们要收拾的烂摊子。

所以测试用例是我们自己的事。没有人能替做这件事——除非有人已经做过一遍,把结果留下来了。

04

因为,担心这些,所以我做了 Pay4SaaS,它一下覆盖了 30+ 个边界场景,不是功能列表,是我真实踩过或者提前想到、然后验证过的那些坑。比如——

  1. 试用期防重复 — 试用过的账号再付款,不会再走试用逻辑,这个之前还专门写了个文章。

  2. 并发扣减 — 同一时间多个请求消费 credits,不多扣不少扣。

  3. 升降级按比例结算 — 升级立即补差价,降级保留权益到期末才切换。

  4. Webhook 幂等 — 同一事件重复触发,数据库不会重复写入。

  5. Credits 归零保护 — 有少量积分,并发操作时,余额不足时拒绝操作,不会变成负数。

  6. 乱序 Webhook 防护 — 迟到的过期通知不会覆盖已续费的订阅。

  7. 懒过期自愈 — 每次访问自动检测并修复过期但未标记的订阅。

每一个场景,都有对应的测试用例。买走的不是代码,是我替你把这些坑走过一遍之后,留下来的那份确定性和放心。

05

我想卖给的,是认真做 SaaS 订阅变现的开发者。不是试水的,是想把支付消费这件事做踏实、做长久的那种。

独立开发最好的地方是自由。时间自由,收入自由,不用汇报,不用开会,代码上线了,睡一觉,醒来看收款通知。但这一切的前提是,收费这件事本身是对的,是放心的,否则都是空谈。

如果你也在这条路上,也有过那种「不知道还有多少坑」的感觉——

¥999,pay4saas.cn,一个让你放心收钱的 SaaS 变现基础设施,来看看适不适合你。价格会阶段性调整,现在是最低价。