Logo文档
支付

Stripe 集成

在 NEXTDEVKIT 中设置和配置 Stripe 支付的完整指南

🚀 Stripe 设置

按照以下步骤将 Stripe 与 NEXTDEVKIT 集成:

1. 创建 Stripe 账户

  1. stripe.com 创建 Stripe 账户
  2. 转到 Stripe 仪表板

2. 获取 API 密钥

  1. 转到 开发者API 密钥
  2. 复制您的 密钥(测试模式以 sk_test_ 开头)

添加到您的 .env 文件:

STRIPE_SECRET_KEY="sk_test_your_secret_key"

3. 设置 Webhooks

  1. 转到 开发者Webhooks

  2. 点击 "添加端点"

  3. 输入您的 webhook URL:https://your-domain.com/api/webhooks/stripe

  4. 选择这些事件:

    • checkout.session.completed
    • customer.subscription.created
    • customer.subscription.updated
    • customer.subscription.deleted
  5. 复制 Webhook 签名密钥(以 whsec_ 开头)

添加到您的 .env 文件:

STRIPE_WEBHOOK_SECRET="whsec_your_webhook_secret"

4. 创建产品和价格

专业版订阅产品

  1. 转到 产品添加产品
  2. 名称:"专业版计划"
  3. 添加 月付价格
    • 价格:您的月付价格
    • 计费周期:月付
    • 重复:是
    • 复制 价格 ID(以 price_ 开头)
  4. 添加 年付价格
    • 价格:您的年付价格
    • 计费周期:年付
    • 重复:是
    • 复制 价格 ID(以 price_ 开头)

终身产品

  1. 转到 产品添加产品
  2. 名称:"终身计划"
  3. 添加 一次性价格
    • 价格:您的终身价格
    • 计费周期:一次性
    • 重复:否
    • 复制 价格 ID(以 price_ 开头)

5. 配置环境变量

# Stripe 配置
STRIPE_SECRET_KEY="sk_test_your_secret_key" 
STRIPE_WEBHOOK_SECRET="whsec_your_webhook_secret"

# 价格 ID
NEXT_PUBLIC_PRICE_ID_PRO_MONTHLY="price_your_monthly_price_id"
NEXT_PUBLIC_PRICE_ID_PRO_YEARLY="price_your_yearly_price_id"
NEXT_PUBLIC_PRICE_ID_LIFETIME="price_your_lifetime_price_id"

6. 更新支付提供商配置

src/config/index.ts 中,将提供商设置为 Stripe:

payment: {
  provider: "stripe",
  currency: "USD",
  // ... 配置的其余部分
  plans: {
    pro: {
      prices: [
					{
						amount: 9.99, // 您的月付价格
						interval: PlanInterval.MONTH,
						trialPeriodDays: 7, // 您的试用期天数
					},
					{
						amount: 99, // 您的年付价格
						interval: PlanInterval.YEAR,
						trialPeriodDays: 30, // 您的试用期天数
					},
      ],
    },
  },
}

🧪 使用 Stripe 测试

测试信用卡

使用这些测试卡与 Stripe:

卡号描述
4242 4242 4242 4242成功支付
4000 0000 0000 32203D 安全认证
4000 0000 0000 9995余额不足
4000 0000 0000 0069卡已过期

本地开发

# 安装 Stripe CLI
brew install stripe/stripe-cli/stripe

# 登录 Stripe
stripe login

# 转发事件到本地服务器
stripe listen --forward-to localhost:3000/api/webhooks/stripe

# 测试 webhooks
stripe trigger checkout.session.completed
stripe trigger customer.subscription.created

使用 ngrok 进行 Webhook 测试

您也可以使用 ngrok 创建到本地机器的隧道:

ngrok http 3000

然后在您的 Stripe webhook 配置中使用 ngrok URL。

🔧 Stripe 功能

客户门户

Stripe 提供托管客户门户,客户可以:

  • 更新支付方式
  • 查看账单历史
  • 取消订阅
  • 下载发票

高级功能

  • 税收计算:为全球客户自动计税
  • 欺诈检测:内置欺诈预防
  • 订阅管理:灵活的订阅处理
  • 多币种:支持 135+ 种货币
  • 支付方式:信用卡、数字钱包、银行转账

🔧 故障排除

常见问题

Webhook 未接收事件

  • 检查 webhook URL 是否正确
  • 验证 webhook 签名密钥
  • 确保生产环境使用 HTTPS
  • 检查选择的事件

支付失败

  • 验证 API 密钥是否正确
  • 检查卡片详细信息格式
  • 确保适当的错误处理
  • 使用不同的卡进行测试

客户门户问题

  • 检查客户 ID 是否有效
  • 验证返回 URL 是否正确
  • 确保客户有支付方式

订阅问题

  • 检查订阅状态
  • 验证 webhook 处理
  • 查看计费周期设置

📊 Stripe 仪表板

Stripe 仪表板提供:

  • 实时分析:收入、客户指标
  • 支付跟踪:交易历史和状态
  • 客户管理:客户资料和数据
  • 订阅监控:活跃订阅和流失
  • 税务报告:自动税收计算

🔗 Stripe 资源


🎯 下一步

现在 Stripe 已配置: