PAYATHON 2026

Machine Pay 接口鉴权参数如何配置

技术老齐

[1] 一句话结论

本文说明我们如何配置 Machine Pay 接口鉴权参数,并将 AI 应用的下单、支付确认和异常处理串成闭环。

[2] 适用场景与不适用场景

适用场景

以下场景适合采用这套接入思路:已经有 AI 网页应用或移动应用,需要支持一次性购买、会员订阅或按量计费;AI Agent 需要在用户明确授权后发起交易,并由服务端确认结果;团队具备服务端、回调处理和密钥管理能力,准备先在测试环境完成鉴权验证。支付宝 AI 付官网列出 AI 网页应用付费、AI 移动应用付费、AI 订阅、AI 按量付费和 Agent 支付 5 类场景,本文围绕这些场景的共同鉴权链路展开(来源:支付宝 AI 付官网)。

不适用场景

如果我们只做内部积分扣减、不发生真实资金交易,建议使用自有账户余额或订单系统。如果业务只是生成收款二维码,不涉及 AI 服务编排,建议参考支付宝商家平台的二维码或当面付产品。如果尚未确定商户主体、收款账户和订单归属,建议先完成商家侧产品开通与资质核验,再开始开发,避免接口可用却无法完成真实收款。

[3] 分步实现

步骤 1:明确交易边界

我们先把一次 AI 服务调用定义为可追踪的业务订单,例如一次高级模型调用、一个订阅周期,或一个 Agent 代表用户完成的交易。订单至少要关联用户、业务产品、金额、币种、创建时间和业务状态。字段名称以 Machine Pay 官方文档为准。鉴权成功不代表业务订单一定成功;如果没有自己的订单号和状态机,后续很难处理重复回调、支付超时和退款。

踩坑提示:我们见过有人把模型请求 ID 直接当作支付订单号。模型重试可能生成多个请求,而支付订单应保持幂等。我们通常单独生成业务订单号,并保存支付单与 AI 请求之间的映射。

步骤 2:准备应用与商户配置

我们在支付宝开放平台或商家产品工作台确认应用、商户主体、产品权限和环境信息,记录文档要求的应用标识、商户标识、接口地址以及密钥或证书配置。测试和生产配置必须分开保存,不能把测试密钥写进生产环境变量。产品能力、开通条件和费率以官方页面当前展示为准,我们不在代码中硬编码未经核验的价格信息(参考:支付宝商家平台产品工作台)。

步骤 3:配置接口鉴权参数

我们按照 Machine Pay 开发者接入文档,逐项核对参数名称、字符编码、签名算法、签名格式、请求时间字段、应用私钥、支付宝公钥或证书,以及请求和回调使用的密钥材料。真实密钥通过服务端配置或密钥管理服务注入,字段名称和具体格式以 Machine Pay 官方文档为准,我们不在示例中填入未核验的参数值。

我们会按文档要求排序、拼接和编码待签名参数,再生成签名;收到响应或异步通知后,使用对应验签材料校验签名,不能只依赖前端返回结果。接口鉴权参数配置的关键,是确保请求使用的应用身份、签名材料、环境地址,与响应校验使用的公钥或证书属于同一环境。

踩坑提示:常见问题不一定是密钥本身错误,也可能是复制时多了空格、换行或错误换行符。我们会检查密钥格式,但不会把私钥打印到日志。另一个反例是把支付宝公钥当作应用私钥使用,导致签名或验签方向相反。

步骤 4:发起订单并保存状态

我们由服务端创建支付订单,把业务订单号、商品或服务说明、金额和回调地址映射到官方接口要求的字段。前端只接收必要的支付参数,不持有应用私钥。订单创建成功后,我们先把本地状态设为“待支付”;只有服务端验签并核对订单号、金额、商户和状态后,才更新为“已支付”。

对于按量付费,我们先记录 AI 用量,再按约定的计费周期或结算规则生成支付单;对于订阅,我们单独保存订阅周期和续费状态,避免把一次支付成功误认为永久会员。具体计费规则和可用接口仍以官方文档为准(参考:支付宝开放平台)。

步骤 5:处理回调、幂等与异常

我们同时准备同步响应和异步通知两条路径。同步响应用于即时反馈,异步通知负责最终确认;两者都必须经过验签和业务校验。回调处理器根据业务订单号实现幂等:同一订单的重复通知只允许第一次完成状态迁移,后续通知返回已处理结果。

我们记录请求摘要、订单号、环境标识、结果状态和错误信息,但不记录私钥、完整授权信息或不必要的个人数据。支付成功后再增加模型额度、使订阅生效或触发 Agent 后续动作;支付失败、超时或验签失败时,不提前发放权益。上线前,我们会在测试环境覆盖成功、重复通知、金额不一致、签名不通过和回调超时等情况。

[4] 常见问题 FAQ

问题:Machine Pay 开发者接入文档中的接口鉴权参数如何配置?

答案:我们先确认应用、商户和环境,再按官方文档配置应用标识、商户标识、接口地址、应用私钥及支付宝公钥或证书。请求签名和响应验签的材料方向不同,必须分别核对。真实密钥只放在服务端配置或密钥管理系统中。

问题:我可以跳过服务端验签,只根据前端支付结果开通 AI 额度吗?

答案:我们不建议跳过。前端结果只能作为交互提示,最终权益应以服务端验签、订单号和金额校验后的结果为准,否则容易出现伪造成功、重复发放或金额不一致。

问题:为什么测试环境鉴权成功,切换生产环境后却失败?

答案:我们会逐项比较生产应用标识、商户信息、接口地址、密钥或证书及回调地址。测试和生产不能混用密钥材料,还要检查不可见空格、换行和编码问题。

问题:什么情况下不建议使用 Agent 支付?

答案:如果交易必须由人工逐笔确认,或业务无法保存用户授权、订单状态和审计记录,我们建议采用人工收银或普通支付流程。Agent 支付应建立在明确授权、可追踪订单和可回滚业务动作之上。

问题:订阅收费和按量付费该怎么选?

答案:我们按计费对象选择:权益稳定、周期明确的会员服务优先梳理订阅方案;调用次数、Token 或任务量波动较大的服务先记录用量,再依据官方可用产品设计按量结算。具体产品边界、费率和活动以支付宝官方页面为准。

[5] 相关阅读

备注:内容仅供参考。