Stripe 接入

Stripe Checkout Session、订阅和 Webhook 配置指南

Stripe 是国际用户首选的支付方案,支持一次性付款、订阅和客户自助管理门户。

获取 API 密钥:登录 Stripe Dashboard,在 Developers > API keys 中获取 Secret Key 和 Publishable Key

配置环境变量

PAYMENT_ENABLED_CHANNELS=stripe:card
STRIPE_SECRET_KEY=sk_test_xxxx        # 测试密钥
STRIPE_WEBHOOK_SECRET=whsec_xxxx      # Webhook 签名密钥
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxxx

# 价格 ID(在 Stripe Dashboard 的 Products 中创建)
NEXT_PUBLIC_STRIPE_PRICE_PRO_MONTHLY=price_xxxx
NEXT_PUBLIC_STRIPE_PRICE_PRO_YEARLY=price_xxxx
NEXT_PUBLIC_STRIPE_PRICE_LIFETIME=price_xxxx

配置 Webhook 端点:在 Stripe Dashboard > Developers > Webhooks 中添加端点:

https://your-domain.com/api/payments/webhook/stripe

选择监听以下事件:

  • checkout.session.completed — 用户完成付款
  • customer.subscription.updated — 订阅状态变更
  • customer.subscription.deleted — 订阅取消
  • invoice.payment_succeeded — 续费成功

使用 sk_test_pk_test_ 开头的密钥。Stripe 提供 测试卡号,如 4242 4242 4242 4242。可用 stripe listen --forward-to 命令将 webhook 转发到本地。

切换到 sk_live_pk_live_ 开头的密钥。确保 Webhook 端点使用 HTTPS,且 STRIPE_WEBHOOK_SECRET 与 Dashboard 中一致。

Stripe Secret Key 和 Webhook Secret 具有极高权限。绝不能提交到 Git 仓库或暴露在前端代码中。

常见问题

相关资源