SPT — Stripe 共享支付令牌
什么是 SPT?
SPT(Shared Payment Token,共享支付令牌)让 AI 代理可以通过 Stripe 为 API 调用付费 —— 使用真实的银行卡支付而不是加密货币。用户预先授权一个带有消费限额的令牌,代理使用它自主地为服务付费。
工作原理
- 用户通过 Stripe 创建一个带有消费限额(最高金额、币种、过期时间)的 SPT
- 代理向付费端点发送请求
- 服务器返回 HTTP 402 并附带
WWW-Authenticate: Payment method="stripe", intent="charge", request="<base64url>" - 代理解码
request字段以获取价格(金额、币种) - 代理使用
Authorization: Payment <credential>重试,凭证中包含 SPT - 服务器使用该令牌创建一个 Stripe PaymentIntent,验证成功后返回响应
关键概念
- 共享支付令牌:受范围与用途限制的 Stripe 令牌(前缀为
spt_),授予代理消费的权限 - 使用限额:每个令牌都有最高金额、币种和过期时间 —— 用户控制代理可以花多少钱
- mppx 中间件:处理 MPP(Tempo)支付的同一中间件也处理 SPT —— 一个服务器可以同时接受这两种方式
- 多重质询:402 响应可以包含多个
WWW-Authenticate: Payment头,对应不同方法(tempo、stripe),让代理自行选择如何付款
代理如何发现 SPT
SPT 使用两条发现通道:
- 运行时(权威):HTTP 402 响应中
WWW-Authenticate: Payment质询带method="stripe" - 请求前(建议性):在需要付款的操作上使用 OpenAPI
x-payment-info扩展
402 响应始终是权威的 —— OpenAPI 元数据仅供建议。
如何为你的服务添加 SPT
- 安装 mppx:
npm install mppx - 配置你的 Stripe secret key
- mppx 中间件会同时返回 Tempo 和 Stripe 方法的 402 质询
- 拥有 SPT 的代理可通过 Stripe 付款;持有 pathUSD 的代理可通过 Tempo 付款
了解更多
- Stripe SPT 文档 —— 令牌的创建与使用
- npm 上的 mppx —— 同时支持 MPP 和 SPT 的中间件
- paymentauth.org —— 支付发现规范