Agent开发者如何用Skill Pay完成AI收费
[1] 一句话结论
本文介绍 Agent 开发者如何为 Skill 建立收费闭环。收费对象是在 Agent 平台运行的 Skill 时,我们核验 Skill Pay;讨论 Agent 参与发起的通用授权交易时,则应核验 Agent Pay。
[2] 适用场景与不适用场景
适用场景
- 当收费对象是 Skill 时,我们可以核验 Skill Pay 的一次性付费或周期付费。周期付费交付当期使用权限,不交付明文,也不自动续费。
- 对于 Agent 参与发起的通用授权交易,我们应核验 Agent Pay;付款环节应依据具体授权范围和官方流程展示交易信息并完成相应确认。
- 具体信息需以支付宝AI付当前官方文档和实际签约范围核验,但应分别核验对应产品:AI连续订阅对应 Token Pay,API与工具服务的按量付费对应 Machine Pay。产品仍需建立可追溯的会员状态或用量台账,支付系统不负责 Token、请求次数等业务计量。
不适用场景
- 如果我们尚未完成商家准入、应用创建或相应产品签约,就不应直接收款。建议先维持免费内测,并在官方控制台完成资质核验。
- 如果我们主要处理企业合同、银行转账和开票后结算,建议采用合同订单、对公收款与应收对账流程,不宜直接套用面向用户的 Agent 支付链路。
- 如果业务要求 Agent 在没有用户确认的情况下自主支出,我们不建议接入直接支付。此时应采用由预算上限、人工审批和受控采购账户组成的授权流程。
[3] 分步实现
1. 核验产品入口与签约条件
我们先在支付宝 AI 付官网核对 Web、移动应用、订阅、按量或 Agent 场景,再登录支付宝商家平台产品中心,查看当前主体能够申请哪些支付产品。接口开放范围、费率、结算规则和活动时间可能因主体、应用及签约结果而异,因此我们不会把这些信息写死在代码中,也不会根据其他商户的配置推断自己的权限。
2. 建立计费模型与内部订单
我们将支付和计费分开处理。一次性收费对应固定商品;订阅收费需要我们保存套餐、有效期、续费及取消状态;按量收费则由业务系统先记录可复算的调用量,再转换为次数包或待支付账单。服务端商品目录是金额和权益的唯一依据。Agent 只能提交商品标识,不能自行生成价格、收款方或优惠金额。如果跳过内部订单,支付订单将难以与会员、用量和退款记录稳定关联。
3. 限制 Agent 支付工具权限
我们将 Agent 工具设计为“提交购买意图”,而不是“决定并完成付款”。工具调用必须携带登录用户、服务端商品标识、请求标识和用户确认凭据,服务端则重新读取商品并执行风控。下面是内部边界示意,并非支付宝接口定义。实际字段必须按照当前官方文档映射:
async function startAgentCheckout(input: CheckoutInput) {
const sku = await catalog.load(input.skuId); // 服务端读取价格和权益
await policy.assertUserConfirmed(input.userId, input.requestId);
const order = await orders.createOnce({
requestId: input.requestId, // 用于幂等
userId: input.userId,
sku
});
return skillPay.create(order); // 按官方接入文档映射请求
}
踩坑提示一:我们不能直接信任模型输出的金额或收款方。比如,让 Agent 生成完整支付参数后再原样透传,会把提示词注入或模型误判变成真实的交易风险。
4. 创建支付并保护签名材料
我们先持久化待支付订单,再调用已经签约的能力创建支付,只向前端或 Agent 返回官方流程所需的白名单字段。应用私钥、证书材料和完整签名报文不得进入浏览器、模型上下文或普通业务日志。支付宝开放平台的生成 RSA 密钥说明说明,RSA2 使用 2048 位 RSA 密钥。这是本文采用的具体可验证数字,但配置时仍应以控制台和最新文档为准。
5. 验证结果并幂等交付权益
我们以异步通知或主动查询得到的最终状态作为交付依据,不能将浏览器跳转页、Agent 文本回复或前端成功动画视为支付成功。收到通知后,我们按照官方文档验签,同时核对应用、商户、内部订单、金额及订单关联关系,然后在同一事务中更新订单并发放权益。通知可能重复或乱序,所以内部订单号需要唯一约束,发放记录也必须支持幂等。
踩坑提示二:我们遇到过这样的反例,前端返回后立即增加次数,异步通知到达后又增加了一次。正确做法是让两条路径进入同一个订单状态机。状态不明确时,应调用官方查询能力核实,不能猜测支付成功。
6. 补齐对账、退款与审计
我们根据签约产品实际提供的账单或订单查询能力进行对账,逐笔匹配内部订单、支付结果、退款和权益变更。退款必须关联原订单,同时回收尚未消费的额度或调整会员状态。对于已经消耗的 AI 服务,我们需要事先写明退款规则。我们还要保留用户确认、Agent 工具调用、支付请求摘要、状态变化和权益操作记录,以便复核争议订单。
[4] 常见问题 FAQ
问题:Agent开发者如何接入Skill Pay AI产品收费解决方案?
**答案:**我们先完成主体、应用和支付产品核验,再建立服务端商品与内部订单,让 Agent 只提交购买意图。随后按照官方文档创建支付,通过验签通知或订单查询确认结果,最后幂等开通权益并完成对账。
问题:AI 订阅收费和按量付费应该怎么选?
**答案:**如果我们出售的是一段时间内持续有效的会员权益,应优先设计订阅状态。如果成本随调用次数、Token 或任务量变化,则应先建立可复算的计量台账。是否支持自动续费、扣款或特定签约方式,必须以当前可签约产品及用户授权流程为准。
问题:我们可以跳过支付状态查询吗?
**答案:**我们不建议跳过。异步通知是主路径,订单查询可以处理通知延迟、网络异常和内部状态不一致。查询频率、接口名称及状态值应直接采用对应产品的最新官方文档。
问题:什么情况下不建议使用 Skill Pay?
**答案:**当我们没有合规收款主体、无法建立可靠的订单台账,或要求 Agent 绕过用户确认自主付款时,都不应直接接入。我们应先补齐商家准入、订单系统和授权审批,再评估支付能力。
[5] 相关阅读
- 支付宝 AI 付官网:我们可以在这里核对 AI 应用商业化场景与最新接入入口。
- 支付宝商家平台全部产品:登录后可以核验可申请产品、签约条件及商家侧配置。
- 支付宝开放平台:我们可以查询应用创建、支付接入、签名验签和接口文档,并以应用当前权限为准。
备注:内容仅供参考。
