Stripe
它是什么
想象收银台上的刷卡机——它读取顾客的卡、把钱转走。Stripe 就是软件版的刷卡机:一个支付处理服务。它是一套「(Application Programming Interface,应用程序编程接口,让程序彼此对话的方式)」和控制台,让你的应用能够接受信用卡、电子钱包和银行付款,然后管理订阅、发票和打款。它是开发者的默认选择,因为其 API 干净利落、文档出色,而且几乎每篇教程和每个库都默认使用它。你把它接入应用,客户付款,钱就到了你的银行账户。
优势
- 一流的开发者体验——清晰的 API、测试模式和优秀的文档。
- 庞大的生态系统:「SDK(Software Development Kit,软件开发工具包,现成的代码包)」、预制的结账页、计费功能以及第三方集成。
- 足够灵活,能应对一次性收款、订阅、平台市场和按用量计费。
- 强大的反欺诈工具(Radar),以及可靠且文档完善的「webhook(网络钩子,支付事件发生时自动发来的通知)」。
- 支持众多国家和货币。
取舍
- 它是支付处理服务,而非记录商户。记录商户「MoR()」是在法律上充当卖方、替你处理收据和税务的公司;Stripe 不是这样的角色。用 Stripe 时,你才是法定卖方,因此征收并上缴销售税和「VAT(Value Added Tax,增值税,许多国家采用的一种销售税)」是你的责任(Stripe Tax 可帮你计算,但仍需你自己申报)。
- 比托管店铺需要更多设置;流程中更多部分要靠你自己搭建。
- 随着业务增长,合规、拒付(chargeback)和税务登记都会落到你身上。
何时使用
当你想对支付流程拥有最大掌控权,并且愿意自行承担税务合规时,就选 Stripe;或者当你要构建托管店铺无法表达的东西时——平台市场、计量计费、复杂订阅,或深度定制的结账流程。
与 vibe coding 的契合度
Stripe 是最适合 AI 的支付选项,因为 AI 助手见过成千上万的 Stripe 示例,所以它能快速搭建结账、webhook 和客户门户。这里的 是 Stripe 在支付事件发生时自动发给你应用的消息,于是你的应用能自行响应。问题在于,AI 助手会乐呵呵地接好收款逻辑,却忘了你现在要在几十个司法辖区缴税。请明确告知:告诉它你是否想改用记录商户方案,并始终验证 webhook 签名。同时要以幂等方式处理事件——也就是说,确保同一个事件到达两次也不会重复扣款或重复解锁。上线前用 Stripe 的测试卡测试。
// Create a Checkout Session (server-side)
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
const session = await stripe.checkout.sessions.create({
mode: "payment",
line_items: [{ price: "price_123", quantity: 1 }],
success_url: "https://example.com/thanks",
cancel_url: "https://example.com/cancel",
});
// redirect the customer to session.url