~/VibeHandbook
$39

支付

stripe.com

Stripe

它是什么

Stripe 是一个支付处理服务:一套 API 和控制台,让你的应用能够接受信用卡、电子钱包和银行付款,然后管理订阅、发票和打款。它是开发者的默认选择,因为其 API 干净利落、文档出色,而且几乎每篇教程和每个库都默认使用它。你把它接入应用,客户付款,钱就到了你的银行账户。

优势

  • 一流的开发者体验——清晰的 API、测试模式和优秀的文档。
  • 庞大的生态系统:SDK、预制的结账页、计费功能以及第三方集成。
  • 足够灵活,能应对一次性收款、订阅、平台市场和按用量计费。
  • 强大的反欺诈工具(Radar),以及可靠且文档完善的 webhook。
  • 支持众多国家和货币。

取舍

  • 它是支付处理服务,而非销售记录商(merchant of record)——才是法定卖方,因此征收并上缴销售税和增值税(VAT)是你的责任(Stripe Tax 可帮你计算,但仍需你自己申报)。
  • 比托管店铺需要更多设置;流程中更多部分要靠你自己搭建。
  • 随着业务增长,合规、拒付(chargeback)和税务登记都会落到你身上。

何时使用

当你想对支付流程拥有最大掌控权,并且愿意自行承担税务合规时,就选 Stripe;或者当你要构建托管店铺无法表达的东西时——平台市场、计量计费、复杂订阅,或深度定制的结账流程。

与 vibe coding 的契合度

Stripe 是最适合 AI 的支付选项,因为 AI 助手见过成千上万的 Stripe 示例,所以它能快速搭建结账、webhook 和客户门户。问题在于,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