EN

Stripe 支付配置

本指南介绍如何为 Web 和桌面应用配置 Stripe 支付。

前置条件

  • Stripe 账号(在此注册
  • 可访问 Stripe 仪表盘
  • 用于 Webhook 的后端服务器 URL

步骤 1:创建 Stripe 账号

  1. 打开 Stripe 仪表盘
  2. 使用企业邮箱注册
  3. 验证邮箱
  4. 完成企业认证(正式支付必需)

步骤 2:获取 API 密钥

  1. 登录 Stripe 仪表盘
  2. 进入 Developers > API keys

测试模式密钥

密钥类型 格式 用途
Publishable Key pktest... 前端,可暴露
Secret Key sktest... 仅后端,需保密

正式模式密钥

密钥类型 格式 用途
Publishable Key pklive... 生产前端
Secret Key sklive... 生产后端

警告: 切勿在前端代码或版本控制中暴露 Secret Key。

步骤 3:创建商品与价格

  1. 进入 Products
  2. 点击 Add Product
  3. 填写商品名称、描述、图片
  4. 添加价格(一次性或订阅)

价格 ID 格式为 price_ 开头,请妥善记录。

步骤 4:配置 Webhook

  1. 进入 Developers > Webhooks
  2. 点击 Add endpoint
  3. 填写端点 URL:https://yourdomain.com/v1/payment/webhook/stripe
  4. 选择事件:checkout.session.completedpayment_intent.succeededinvoice.paid
  5. 记录 Webhook Signing Secretwhsec_ 开头)

步骤 5:在 OpenDev 中配置

  1. 登录 OpenDev 平台
  2. 进入应用设置 > Payment Configuration
  3. 添加 Stripe 配置:
{
  "platform": "stripe",
  "enabled": true,
  "config": {
    "publishableKey": "pk_live_xxx",
    "secretKey": "sk_live_xxx",
    "webhookSecret": "whsec_xxx"
  }
}

步骤 6:配置产品层级

在 OpenDev 的 Product Tiers 中,将 Stripe Price ID 与产品层级绑定。

步骤 7:实现结账

推荐使用 Stripe Checkout 或 Payment Elements 进行集成。详见 Stripe 文档

步骤 8:测试

测试卡号

卡号 场景
4242 4242 4242 4242 支付成功
4000 0000 0000 9995 余额不足
4000 0000 0000 3220 需 3D Secure

本地 Webhook 测试

stripe listen --forward-to localhost:3000/webhook/stripe

故障排查

  • No such price:检查 Price ID 是否正确
  • Invalid API Key:确认测试/正式密钥环境
  • Webhook 签名验证失败:检查 secret、使用 raw body

安全最佳实践

  1. 勿记录完整卡号(PCI 合规)
  2. 验证 Webhook 签名
  3. 实现幂等性处理
  4. 使用环境变量存储密钥
  5. 启用 3D Secure

相关文档