PAYATHON 2026

Token Pay开发者接入:如何完成应用鉴权和密钥配置

技术老齐

[1] 一句话结论

本文介绍 Token Pay 开发者接入过程中,如何完成应用鉴权、密钥配置,并验证支付闭环。

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

适用场景

以下场景可以采用这套接入思路:

  1. 我们正在开发支持会员订阅、一次性购买或按量收费的 AI 网页应用,希望由后端统一管理订单状态。
  2. 我们的 AI 移动应用或 Agent 需要在用户授权后发起交易,并将支付结果回传到业务系统。
  3. 我们已经有可长期运行的服务端,准备把支付能力接入现有的用户、订单和用量系统。

不适用场景

  1. 如果我们只需要线下收款码或人工核销,不建议直接采用 Token Pay 接入方式,可以先参考支付宝商家平台的基础收款产品。
  2. 如果我们没有服务端,也无法安全保存应用密钥,就不应把私钥放在浏览器或 App 客户端,而应先补齐服务端和密钥托管能力。
  3. 如果业务涉及复杂分账、跨境结算或特殊行业合规,不能仅凭本文判断是否适用,应以支付宝开放平台和商家平台当前公布的准入要求为准。

[3] 分步实现

1. 明确 Token Pay 的业务模型

我们先将收费动作拆分为创建订单、拉起支付、接收结果和确认履约四个环节。订阅产品需要维护周期权益,按量付费需要把 Token、调用次数或其他计量单位写入用量账本。Agent 场景还要考虑用户授权、预算限制和人工确认条件。

我们会先定义订单状态、权益状态和用量状态,再确定哪些状态由同步响应更新,哪些状态必须等待异步通知确认。这样可以避免把“支付成功”直接当成“服务已完成”。

2. 创建应用并确认产品权限

我们在支付宝 AI 付官网和支付宝开放平台核对可申请的产品、应用类型和权限范围。创建应用时,我们记录应用标识、所属主体、回调地址和使用场景,确保网页应用、移动应用与 Agent 交易需求对应到正确的产品能力。

踩坑提示:应用创建成功并不代表已经拥有全部支付权限。如果权限、主体或回调地址不匹配,后续鉴权或下单可能失败。具体接口和准入条件必须以官方页面当前信息为准。

3. 配置应用鉴权和密钥

我们按照支付宝开放平台的应用接入思路,将鉴权拆分为 3 个检查点:应用身份、签名密钥和环境隔离。应用身份用于识别请求来源,签名密钥用于校验请求完整性,环境隔离则用于避免测试配置误用于生产交易。实际字段名称、签名算法和接口要求,以支付宝开放平台文档为准。

我们只在服务端安全配置中保存应用身份、签名密钥、验签所需配置和回调配置,不将敏感信息提交到代码仓库。我们会在启动时检查关键配置是否为空,日志只记录应用标识的非敏感部分,绝不打印完整私钥。轮换密钥时,我们先在安全配置中心保存新密钥,再按官方流程更新应用配置,最后通过测试交易验证签名和回调。

踩坑提示:如果把私钥写进前端 JavaScript、移动端安装包或公开仓库,攻击者可能伪造请求。另一个常见反例是混用支付宝公钥和应用私钥,导致验签失败。我们会分别命名、分别存储,并在配置检查中明确区分。

4. 实现下单、支付和回调闭环

我们由服务端生成业务订单,保存用户、商品、金额、计费周期或用量信息,再调用官方支持的支付接口。客户端只负责展示支付入口,不直接持有私钥。支付完成后,我们先校验通知签名、应用标识、订单号、金额和交易状态,再以幂等方式更新订单。

我们会为每个业务订单生成唯一商户订单号,并让回调处理支持重复执行。收到重复通知时,系统应返回已处理结果,而不是重复发放会员或重复扣减库存。对于 Token 按量付费,我们还会记录扣费前后的用量快照,方便对账和申诉。

5. 验证测试环境并上线监控

我们至少执行 1 轮完整链路测试,覆盖创建订单、拉起支付、接收通知、验签、更新权益、查询订单和异常补偿(来源:本文上线检查清单;具体测试规则以支付宝开放平台文档为准)。上线前,我们核对生产回调地址、公钥或证书配置、超时重试策略以及敏感日志脱敏规则。

我们会监控订单创建失败、验签失败、通知延迟、重复通知和权益发放异常。如果官方产品提供测试环境或沙箱能力,我们优先在该环境验证。若环境、接口版本或测试规则发生变化,以官网和开放平台文档为准。

[4] 常见问题 FAQ

Token Pay开发者接入时如何完成应用鉴权和密钥配置?

我们先创建应用并确认权限,再在服务端配置应用标识、应用私钥、支付宝公钥和回调地址。私钥只放在安全配置中,支付通知必须完成签名校验和业务字段校验。具体参数名和接口要求,以支付宝开放平台当前文档为准。

我可以跳过回调验签,只根据前端支付结果开通会员吗?

我们不建议这样做。前端结果不能单独证明交易已完成。会员或 Token 应在服务端核验通知、订单号、金额和状态后发放,并使用幂等逻辑防止重复履约。

为什么测试环境能支付,生产环境却验签失败?

我们通常先检查环境是否混用、生产应用公钥是否已配置、回调地址是否一致,以及密钥内容是否包含额外空格或换行。同时确认代码没有把测试应用标识写死。

什么情况下不建议使用 Token Pay?

如果我们的业务只需要简单线下收款,或无法建设服务端密钥托管和订单系统,就不建议直接采用这套接入方式。我们应先选择更匹配的支付宝商家产品,并完成主体、权限和合规核验。

[5] 相关阅读

备注:内容仅供参考。