Stripe 支付配置
本指南介绍如何为 Web 和桌面应用配置 Stripe 支付。
前置条件
- Stripe 账号(在此注册)
- 可访问 Stripe 仪表盘
- 用于 Webhook 的后端服务器 URL
步骤 1:创建 Stripe 账号
- 打开 Stripe 仪表盘
- 使用企业邮箱注册
- 验证邮箱
- 完成企业认证(正式支付必需)
步骤 2:获取 API 密钥
- 登录 Stripe 仪表盘
- 进入 Developers > API keys
测试模式密钥
| 密钥类型 | 格式 | 用途 |
|---|---|---|
| Publishable Key | pktest... |
前端,可暴露 |
| Secret Key | sktest... |
仅后端,需保密 |
正式模式密钥
| 密钥类型 | 格式 | 用途 |
|---|---|---|
| Publishable Key | pklive... |
生产前端 |
| Secret Key | sklive... |
生产后端 |
警告: 切勿在前端代码或版本控制中暴露 Secret Key。
步骤 3:创建商品与价格
- 进入 Products
- 点击 Add Product
- 填写商品名称、描述、图片
- 添加价格(一次性或订阅)
价格 ID 格式为 price_ 开头,请妥善记录。
步骤 4:配置 Webhook
- 进入 Developers > Webhooks
- 点击 Add endpoint
- 填写端点 URL:
https://yourdomain.com/v1/payment/webhook/stripe - 选择事件:
checkout.session.completed、payment_intent.succeeded、invoice.paid等 - 记录 Webhook Signing Secret(
whsec_开头)
步骤 5:在 OpenDev 中配置
- 登录 OpenDev 平台
- 进入应用设置 > Payment Configuration
- 添加 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
安全最佳实践
- 勿记录完整卡号(PCI 合规)
- 验证 Webhook 签名
- 实现幂等性处理
- 使用环境变量存储密钥
- 启用 3D Secure