用途:指导在 Next.js 项目中实现 Stripe 支付,包括一次性付款、订阅、Webhook 和客户管理。
主要能力:创建 Checkout 会话(mode: 'payment' 或 'subscription')、处理支付成功与订阅生命周期事件、生成客户门户会话、同步订阅状态到数据库。
必要用法:安装依赖 npm install stripe @stripe/stripe-js;在 .env.local 配置 NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY、STRIPE_SECRET_KEY、STRIPE_WEBHOOK_SECRET;在 API 路由函数内部读取环境变量而非模块顶层;创建会话后直接使用 session.url 跳转,因为 stripe.redirectToCheckout() 已废弃;Webhook 需用原始请求体验证签名,本地测试可用 stripe listen --forward-to localhost:3000/api/webhooks/stripe 与 stripe trigger payment_intent.succeeded;使用认证中间件时需将 /api/checkout、/api/webhooks/stripe 等加入 unauthenticatedPaths。
适用场景:Next.js 应用接入 Stripe 收款、订阅计费、客户自助管理订阅与发票。
限制:仅密钥使用 NEXT_PUBLIC_ 前缀,密钥必须留在服务端;生产环境需 HTTPS;具体价格、收费与效果资料未提供。