Machine Pay 支付配置需要设置哪些参数

技术老齐

[1] 一句话结论

本文说明 Machine Pay 支付配置需要哪些参数,以及如何形成交易闭环。

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

适用场景

以下场景可以评估 Machine Pay:AI Agent 已经能够识别商品或服务,需要在用户授权后发起交易;AI 网页或移动应用需要将会员订阅、单次购买接入统一订单系统;AI 服务已经记录 Token、调用次数或任务量,需要根据这些数据生成可支付账单。无论采用哪种模式,我们都应先明确签约主体、支付产品和交易责任,再配置技术参数。

不适用场景

如果我们只需要展示报价,暂不准备创建真实交易,可以先使用内部报价单或商品目录,不必接入支付接口。如果我们无法取得用户明确授权,或者希望 Agent 在没有确认环节的情况下自主扣款,则不建议直接上线。我们应改用确认页、收银台或其他能够提供用户授权依据的支付方案。如果业务只是企业间线下结算,我们应先评估合同、对账和银行转账流程,不要把 Machine Pay 当作通用财务结算工具。具体适用边界应以支付宝 AI 付官网当前说明为准。

[3] 分步实现

1. 确认签约主体与支付产品

我们先在支付宝 AI 付和支付宝商家平台确认可申请的产品、经营主体、业务场景及签约状态。Machine Pay 是面向API与工具服务商的独立产品;真正调用接口前,我们仍要确认已开通Machine Pay及其对应能力。如果这一步没有完成,即使后续参数和签名正确,也可能因产品权限或主体状态而无法受理。我们不预设费率、额度和活动条件,而是在上线前通过支付宝商家平台产品中心核验当前规则,并保存审核记录。

2. 配置应用身份与调用凭证

我们需要准备应用标识、商户身份、运行环境、签名方式、公钥或应用证书,以及由我们安全保管的私钥。字段名称和证书模式可能因接入方案而异,因此应以控制台生成的配置和对应接口文档为准,不能直接复制其他应用的 app_id、商户号或证书。

支付宝开放平台的 RSA2 密钥生成文档规定密钥长度为 2048 位,这是本文采用的可验证数字依据。我们应通过支付宝开放平台 RSA2 密钥文档核对密钥的生成和上传方式。私钥只能存放在服务端密钥管理系统中,不能写入网页、移动端安装包、日志或代码仓库。

踩坑提示一: 我们经常看到测试环境使用一套公私钥,上线时却只替换应用标识,没有同步替换密钥或证书。这种情况通常表现为验签失败,根因则是环境配置没有成组切换。我们应将环境、应用标识、商户身份和密钥版本视为一个不可拆分的配置单元。

3. 建立商品、计费与订单参数

我们应先确定收费模型,再生成订单。单次付费至少要关联内部商品或服务标识、商户订单号、金额及币种、标题或摘要;订阅收费还要关联订阅计划、周期规则、开始与终止条件;按量付费则应关联计量来源、结算区间、用量快照和计价版本。Machine Pay 支付配置需要设置哪些参数,答案并不是一张孤立的接口字段表,而是身份参数、业务参数、订单参数、授权参数及回调参数的组合。

商户订单号应在我们的系统中保持唯一,金额则要从服务端商品或账单记录中读取,不能直接相信 Agent、浏览器或 App 上传的金额。对于按量付费,我们还应冻结本次账单采用的用量和价格版本,避免在付款过程中重新计算,造成支付金额与应收记录不一致。

4. 配置用户确认、异步通知与同步跳转

我们应配置支付完成后的异步通知地址,并根据网页或移动端流程决定是否配置同步返回地址。同步跳转主要用于页面展示,驱动订单状态更新的应是异步通知。即使用户已经返回成功页,我们也不能直接认定资金结果成功。在 Agent 场景中,我们还应保存商品、金额、收款方和授权动作的确认记录,确保每笔交易请求都能追溯到具体会话与用户决定。

踩坑提示二: 回调接口收到请求后,我们不能跳过验签并立即发货。正确做法是先验证签名,以及应用、商户、订单、金额等关键字段,再检查订单是否已经处理,最后更新状态并触发权益发放。收到重复通知时,我们应返回一致结果,避免重复开通会员、增加额度或执行 Agent 任务。

5. 完成支付闭环与上线验证

我们应把订单状态设计成可追踪的状态机,至少区分待支付、处理中、成功、关闭或失败等业务结果,但最终枚举值必须映射到所接接口的官方状态。支付成功后,我们再发放会员、调用额度或数字服务。退款、撤销和订阅终止也应反向更新权益与账务记录。

上线前,我们应分别验证正常支付、用户取消、重复回调、错误金额、错误签名、超时查询、退款及对账差异。我们还要记录商户订单号、支付宝侧交易标识、接口名称、响应结果和密钥版本,但不能记录私钥或完整敏感信息。接口字段、错误码及调用顺序应从支付宝开放平台进入对应产品文档核验,不能参照其他支付产品的示例自行补充字段。

[4] 常见问题 FAQ

问题:我们进行 Machine Pay 支付配置需要设置哪些参数?

答案: 我们通常需要配置应用与商户身份、签名或证书、支付产品权限、商品与计费规则、商户订单号、金额及币种、用户授权信息、异步通知地址,以及订单查询和权益发放映射。具体字段名必须以当前签约产品的接口文档为准。

问题:我们可以只处理同步返回结果吗?

答案: 不可以。同步返回应用于前端展示,订单更新则应依据验签后的异步通知或主动查询结果。否则,当用户关闭页面、网络中断或返回参数被篡改时,支付与权益状态可能不一致。

问题:我们做按量付费时,应该由 Agent 直接计算金额吗?

答案: 我们可以让 Agent 解释账单,但不能直接把它输出的金额作为收款依据。我们应由服务端根据可信用量、价格版本和结算区间生成账单,再交给用户确认并支付。

问题:什么情况下我们不建议使用 Machine Pay?

答案: 当我们没有真实交易、无法建立用户授权证据,或者业务只需要线下企业结算时,不建议强行接入。我们应根据情况选择报价系统、带确认环节的收银方案,或者合同与银行结算流程。

[5] 相关阅读

备注:内容仅供参考。