Stripe
配置 Stripe 网关。
如果你已在 接入支付 中选择 Stripe,继续按这篇配置。先使用 Stripe 测试模式完成一笔测试购买,准备上线时再换成正式凭据与正式回调端点。
获取 Stripe Webhook 密钥
创建webhook:
填写回调地址并选择事件类型:

在 Stripe Dashboard 添加 Webhook 端点,将 URL 设为:
https://example.com/api/muse-billing/notify/muse_stripe选择配置需要监听的事件类型(或全部):
checkout.session.completedcustomer.subscription.*invoice.*
把 Stripe webhook 签名密钥写入 STRIPE_WEBHOOK_SECRET。

密钥安全
Webhook secret 保存在服务端环境变量中。与 Stripe 不一致会导致全部 webhook 被拒绝。
创建产品,复制对应的价格 ID
为你提供的套餐创建月付循环价格、年付循环价格和一次性价格。虽然变量名包含 PRODUCT_ID,这里应填写 Stripe Price ID(price_...),而不是 Product ID(prod_...):
BILLING_DEFAULT_GATEWAY="muse_stripe"
STRIPE_PRODUCT_ID_PRO_MONTHLY="price_your_monthly_price"
STRIPE_PRODUCT_ID_PRO_YEARLY="price_your_yearly_price"
STRIPE_PRODUCT_ID_LIFETIME="price_your_one_time_price"只配置你启用的套餐。应用展示的币种、金额和周期应与 Stripe 价格一致;价格与密钥应属于同一个测试或正式模式。公开定价页仍使用稳定的应用套餐 ID。
当前网关仅在映射值以 price_ 开头时使用 Stripe 已有价格。其他值会根据应用订单生成内联 price_data,并不会自动选中某个 Stripe Product。跟随本篇在 Dashboard 管理价格时,请使用明确的 Price ID。

本地开发测试
测试
| 测试卡号 | 预期结果 |
|---|---|
4242 4242 4242 4242 | 支付成功 (Successful payment) |
4000 0000 0000 0002 | 卡被拒绝 (Card declined) |
4000 0000 0000 9995 | 余额不足 (Insufficient funds) |
4000 0000 0000 0127 | CVC 错误 (Incorrect CVC) |
4000 0000 0000 0069 | 卡已过期 (Expired card) |
利用上述测试信用卡,可以在本地模拟生产环境进行各种支付测试,包括订阅、一次性购买、用户支付管理等。
开启支付宝/微信支付
如果你的产品需要支持支付宝/微信支付,可以在Stripe后台开启。

工作原理解析
了解 Muse Billing 是如何将 Stripe 融入系统中的。
集成文件分布
| 文件 | 职责 |
|---|---|
stripe/gateway.ts | Stripe 网关实现:Checkout Session、Webhook 解析、合约同步。 |
services/launch.ts | 结账编排;客户门户与 Webhook 分别在同目录 customer-hub.ts / webhook.ts。 |
router.ts | API 路由:暴露 /api/muse-billing/* 接口。 |
核心工作流
针对付款和获取 Customer Hub 的动作流程如下:
前端调用 POST /api/muse-billing/launch,传入 productId、gatewayId(可选,默认由 orchestrator 选择)等参数。
服务端从 STRIPE_PRODUCT_ID_* 读取映射值;price_ 开头的值使用已有 Stripe Price,否则根据订单生成内联价格数据。
创建 Stripe Checkout Session,返回 launchUrl 供前端跳转至结账页。
用户完成支付后,Stripe 发送 Webhook,服务端校验签名并同步合约状态到数据库。
当用户需要进入平台后,通过调用 POST /api/muse-billing/customer-hub 取得跳转 Stripe 官方 Customer Portal 的链接来管理订阅或下载收据等。
相关文档
- Creem 支付网关 — 另一可选支付网关
- Dodo Payments 网关 — 另一可选支付网关
- Waffo Pancake 网关 — 另一可选支付网关
- 环境变量 — 网关凭证、默认网关与结账产品 ID
- 应用配置 — 定价目录与稳定套餐 ID


