Token Pay · 按量付费
按 Token、按次、按量,自动计量自动结算。付费 API 返回
402 Payment Required,
Agent 自动完成支付并重试 —— 这是为 AI 时代设计的 HTTP 原生计费方式。
什么是按量付费(402)?
当 Agent 调用一个付费 API、数据接口或 Skill 服务时,最自然的计费方式不是「先充值再使用」,
而是 HTTP 原生的按量付费:服务端对未付费请求返回
402 Payment Required 状态码并声明支付条件(金额、币种、收款方),
Agent 支付后携带凭据重试,服务端放行。这就是 x402 协议确立的「挑战-响应」模式,
微信支付的 X402 与多家国际实践都采用这一语义。
Token Pay 在此之上补齐了计费与结算:按调用次数、按 Token 用量、按数据量 或阶梯定价自由计量;幂等键防止网络重试造成的重复扣费;每一笔调用在任务预算内校验, 实时汇入统一账单。
HTTP/1.1 402 Payment Required Content-Type: application/json PAYMENT-REQUIRED: x402, payhub { "scheme": "exact", "amount": "0.50", "currency": "CNY", "recipient": "merchant_id_123", "resource": "marketdata/v1", "metering": { "unit": "call" } } # Agent 支付后带 PAYMENT-RESPONSE 头重试 → 200 OK
核心能力
多维计量计费
按次、按 Token、按数据量、阶梯定价与包量套餐自由组合,费率改动即时生效。
402 挑战标准
统一的支付条件格式,兼容 402 / 200 两种触发模式,响应头与响应体双通道声明。
幂等与防重
Idempotency-Key 全链路幂等,网络超时重试不会重复扣费,掉单自动对账。
实时账单
每次调用实时入账,按任务、按 Agent、按资源多维汇总,收入与用量双向可查。
挑战-响应,四步闭环
未付费 → 402
Agent 请求付费资源,服务端返回 402 与标准化支付条件。
challenge解析并支付
Agent 把挑战转发给 PayHub resolve-402,预算校验、选路、扣款一次完成。
resolve-402携带凭据重试
PayHub 返回统一凭据,Agent 注入 PAYMENT-RESPONSE 头重试原请求。
retry计量与结算
服务端验证凭据、按实际用量计量,账单实时更新,款项清算到账。
metering对标同类产品
对标支付宝 · A2M 按量计费
AI-to-Machine 计费体系
- 支付宝面向 AI 到机器(A2M)的调用场景提供按量计费与 AI 钱包预算管控,用户可设预算、限场景、查账单。
- 能力深度绑定支付宝生态内的资源与账户体系。
- PayHub 的关系:Token Pay 复用 A2M 通道与预算语义,同时开放给任意自建 API / 独立服务,一个 402 格式通吃。
对标微信支付 · X402 按次付费
pay.weixin.qq.com · AI 支付后台
- 微信 X402 定义了
pay_type=GOODS_PAY、pay_mode=AUTH_AND_PAY的按次付费模型,支持 402 / 200 两种触发模式,15 分钟授权超时。 - 支付凭据经
payment_code传递,建议响应体外附加可剥离支付提示块以兼容只读 body 的 Agent。 - PayHub 的关系:这些格式差异由适配层吸收——你的服务端只产出统一 402 格式,走哪个通道由路由决定。
按量付费在两大生态各有协议方言,Token Pay 是它们之上的普通话 —— 服务端一次实现,全部 Agent 可读、可付、可重试。
服务端返回 402,只需一个中间件
// 未携带支付凭据的请求 → 返回标准化 402 挑战 export function payhubGate(pricing) { return (req, next) => { if (!req.headers["payment-response"]) { return new Response(JSON.stringify({ scheme: "exact", amount: pricing.amount, // 如 "0.50" currency: "CNY", recipient: pricing.merchantId, resource: pricing.resourceId, metering: pricing.metering, // { unit: "call" | "token" | "gb" } }), { status: 402, headers: { "PAYMENT-REQUIRED": "payhub" } }); } return next(req); // PayHub 验签通过后正常放行 }; }