Stripe:七行代码背后,两个爱尔兰少年如何重新定义互联网支付
在Stripe出现之前,开发者想在网站上接受支付,需要联系银行、申请商户账户、阅读数百页文档、完成复杂的合规检查。Patrick和John Collison认为这件事根本不应该这么难——然后花了四年时间证明了这一点。
Stripe:七行代码背后,两个爱尔兰少年如何重新定义互联网支付
2007年,一个来自爱尔兰利默里克郡的16岁少年在自己的卧室里,试图为一个小型电商网站接入在线支付功能。
Patrick Collison 当时已经是一个有经验的自学程序员——他在13岁就开始学习编程,14岁赢得了爱尔兰年度青年科学家竞赛。但面对在线支付的集成流程,他遇到了一道难以逾越的墙:申请商户账户需要提供公司注册文件、银行对账单、预期交易量预测;PCI DSS 合规要求需要通过安全审计;不同支付处理商的 API 文档各自为政,格式不统一,版本混乱。
整个过程花了他几周时间,最终才勉强跑通了第一笔测试支付。他当时想:为什么这件事这么难?为什么互联网已经发展了十几年,在网上收款这件基础的事情,还需要如此繁琐的程序?
这个困惑在他脑子里留了下来,直到三年后在 MIT 的宿舍里变成了一个创业想法。
“本可以不这么难”的判断
2009年,Patrick 在 MIT 就读,他的弟弟 John 那年17岁,还在爱尔兰上高中。兄弟两人有一个持续进行的电话和邮件讨论,话题总是围绕着互联网和软件。
那年,他们注意到了一个在硅谷已经被很多人忽视的现象:互联网创业活动正在爆炸式增长,大量开发者和小团队在尝试构建各种在线产品,但每一个需要收钱的项目,都要经历同样令人沮丧的支付集成过程。
PayPal 在2009年已经是一个成熟的支付平台,但它的定位更接近消费者支付工具,开发者使用它的 API 时会遇到文档混乱、沙盒环境不稳定、各种奇怪的错误码等问题。更重要的是,PayPal 的整个产品设计是围绕”买家和卖家使用同一个账户系统”设计的,对于一个想要在自己网站上内嵌支付流程的开发者来说,这个设计并不合适。
Patrick 和 John 的核心判断是:这件事本可以不这么难。接受在线支付,在技术上应该像发一个 HTTP 请求一样简单。之所以变得复杂,不是因为技术上必须如此,而是因为现有的所有解决方案都是为其他场景设计的,没有人专门为”开发者想要快速、可靠地在产品里集成支付”这个需求做一个从零开始的设计。
这个判断,是 Stripe 存在的根本原因。
Y Combinator和第一个测试
2010年,Patrick 和 John 以 Stripe(当时项目还没有正式名称)的想法申请了 Y Combinator 的夏季批次。
YC 接受了他们,但当时 John 只有17岁,YC 的规定是参与者必须年满18岁。他们最终解决了这个问题,但这个细节说明了 Stripe 最初的情况:两个几乎还是孩子的兄弟,在没有商业经验、没有金融行业背景的情况下,试图改变一个被银行和成熟企业主导了几十年的行业。
在 YC 的三个月里,他们完成了 Stripe 的第一个可测试版本,核心是一套简洁的支付 API。原型的设计目标很具体:开发者能够在不超过十分钟的时间内,完成从零到第一笔测试支付的全过程。
这个”十分钟”的目标,在当时的竞争格局里是革命性的。使用传统支付处理商,这个过程需要几天到几周;使用 PayPal,这个过程需要几小时。Stripe 把它压缩到十分钟,依赖的不是什么神秘技术,而是极度认真的 API 设计。
他们把整个支付集成流程拆解成最小的必要步骤,删除了所有在第一次集成时非必需的参数,写了大量具体可运行的代码示例,确保文档里的每一个例子都能直接复制粘贴然后运行。
Stripe 的 API 设计哲学
Stripe 最终发布的 API,被无数开发者誉为”最优雅的 API 设计之一”。这个评价背后,有一套具体的设计哲学。
最小惊喜原则。Stripe 的 API 命名非常直观:创建一笔收费叫 charges.create,获取收费详情叫 charges.retrieve,退款叫 charges.refund。没有奇怪的缩写,没有行业黑话,开发者可以在不查文档的情况下猜到大多数操作的名称。
错误信息的可操作性。当 API 调用失败时,Stripe 返回的错误信息不只是一个状态码,而是一段人类可读的描述,解释为什么失败,以及应该如何修正。这个设计细节在调试时能节省大量时间。
沙盒环境的完整性。Stripe 的测试环境是真实支付系统的完整镜像,而不是一个功能有限的模拟器。开发者在测试环境里遇到的行为,和生产环境完全一致——这消除了”在测试环境工作,但在生产环境出问题”这个折磨了无数开发者的噩梦。
版本控制的稳定性。一旦 Stripe 发布了某个 API 版本,这个版本就永久有效。如果你今天写的代码基于 2013 年的 Stripe API,它在今天依然可以运行,不需要做任何修改。这对于需要维护大量遗留系统的企业来说是一个极其重要的保证。
这些设计原则,让 Stripe 的 API 成为了业界的参考标准。很多后来出现的 API 产品,在设计时都把”要像 Stripe 一样”作为品质目标。
从七行代码开始的传播
Stripe 早期增长的核心工具,不是销售,不是广告,而是一段七行代码。
这七行代码,是 Stripe 官方文档里最醒目的示例:一个完整的、可以直接运行的收款流程,从接收支付表单到创建支付的全部代码。开发者看到这七行代码的第一反应,通常是不相信——一个完整的在线支付,真的七行就够了?
然后他们复制粘贴,运行,成功了。
这个”七行代码的惊喜”成为 Stripe 在开发者社区里最有力的口碑传播内容。Hacker News 上关于 Stripe 的最早讨论,大多数都有同一个结构:有人分享了这七行代码,其他人表示不相信,然后尝试之后回来说”真的就这么简单”。
Y Combinator 的 Paul Graham 在2010年把 Stripe 描述为”接受在线支付的最简单方式”,并在推荐中写道:“开发者喜欢 Stripe 的程度,超过他们喜欢任何其他支付处理商。“
2011年:公测与加速扩张
Stripe 于2011年正式开放公测。这一年,两个关键的产品决策奠定了 Stripe 后来的市场地位。
第一个决策是定价透明化。Stripe 把收费标准简化成一个单一数字:每笔交易收取2.9%加30美分。没有月费,没有设置费,没有隐藏费用,没有基于交易量的复杂阶梯定价。这个透明度在金融行业是罕见的——大多数支付处理商的定价都是不透明的,需要销售谈判才能拿到具体数字。
第二个决策是拒绝要求用户签长期合同。其他支付处理商通常要求商户签1到3年的服务合同,中途终止需要支付违约金。Stripe 从第一天起就是月度订阅制,用户可以随时停止使用,没有任何锁定。这两个决策的逻辑是一致的:如果产品足够好,不需要用合同锁定用户;如果定价足够合理,不需要用复杂的结构隐藏利润。
到2011年底,Stripe 已经有数千家企业客户,包括一批知名的 YC 毕业公司。这些公司成为了 Stripe 最有效的传播渠道:当一家快速增长的初创公司在公开场合推荐某个基础设施工具,其他创业者会认真对待这个推荐。
从支付 API 到金融基础设施
Stripe 在发展的前几年,一直有一个被反复问到的问题:你们只是一个支付 API,这怎么能成为一个有足够护城河的商业模式?
Patrick 和 John 对这个问题的回答,在2013年前后变得越来越清晰:Stripe 不是要做一个支付工具,而是要做互联网经济的金融基础设施。
这个转变在产品上的表现,是 Stripe 的产品线开始向支付处理的上下游延伸。2013年,Stripe 推出了 Connect,解决了平台和市场类应用里的复杂支付路由问题——当你有一个 Uber 这样的平台,需要把支付从乘客路由到司机,同时 Uber 自己抽取佣金,这个流程的实现需要复杂的资金流转逻辑,Stripe Connect 把这个复杂性封装了起来。
2016年,Stripe Atlas 上线,允许任何地方的创业者在美国注册公司,开立银行账户,获得 Stripe 账号,整个过程在线完成,费用仅500美元。这个产品的意义超越了支付本身——它解决了非美国创业者进入美国市场的最大法律和金融障碍。
这一系列扩展,让 Stripe 从一个支付处理商变成了一套全面的”创业基础设施”。一家初创公司在美国注册(Atlas)、接受支付(Payments)、处理平台分账(Connect)、预防欺诈(Radar)、发行企业信用卡(Corporate Cards)——所有这些,都可以在 Stripe 的生态里完成。
不上市的选择
2021年,Stripe 完成了一轮估值950亿美元的融资,成为美国估值最高的私有科技公司之一。市场普遍预计 Stripe 即将上市。
但 Patrick 和 John 的选择出乎市场预期:他们没有上市。
原因是公开阐述过的:他们认为,上市会把团队的注意力从长期产品建设转移到季度财务指标上,而 Stripe 还有很多他们认为没有做完的事情。支付行业的全球化仍然有大量的市场没有充分覆盖,在许多发展中国家,小企业接受在线支付的门槛依然很高。这是 Stripe 认为自己还有责任解决的问题,在完成之前,他们不想承受上市公司的短期业绩压力。
这个决策,本质上是 Patrick 和 John 创立 Stripe 时那个最初判断的延伸:支付这件事,还有很多地方”本可以不这么难”。
从爱尔兰一个少年在卧室里第一次被支付集成流程难倒,到一家年处理超过1万亿美元交易的公司,Stripe 用了将近15年的时间,把”七行代码接受支付”这个看似简单的想法,变成了互联网经济运转的重要基础设施之一。
“我们从来没想过要颠覆支付行业。我们只是认为,在互联网上接受支付这件事,本可以不这么难。” — Patrick Collison