开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
凯发app官方网站的技术支持 & 案例 faq 
接入指南 > 开发工具 > 辅助工具 > 使用工具调试异步验签流程介绍
收藏
我的文档
设置
背景
在接口开发测试时,需要涉及到通知的验签,但是自己写的代码中无法验签成功,如何进行核实检查呢?
可以通过支付宝开放平台开发助手、云排查、签名验签等工具结合验签了解。
获取验签通知
获取通知
异步通知的获取必须通过验签代码中获取,而不是自己直接获取到的数据。
避免检查时,在自己直接获取数据到传值到验签代码过程中数据出现错误导致。

打印示例
java 示例打印异步通知

云排查获取异步通知
查询条件选择
应用:登录账户后,可选择账户名下创建的应用或者 pid 信息。
交易号:交易成功后返回交易号。如支付接口返回的 trade_no。
请求时间:目前支持的查询日期是 7 天,所以在选择开始日期里,只能选择从当前日期往前的 7 天范围。而开始日期里,可以选择对应开始日期的 24 小时内的所有时间段。

获取异步数据
根据代码中打印通知的 notify_time,找到对应时间发送的异步通知。
不返回 success,支付宝是会重复发送 8 次通知,每次通知验签的数据是不同的,不可以弄混,必须使用接收的异步通知中 notify_time 对应的那笔异步。
注意:复制异步数据,从异步地址后开始复制。

整理验签数据
由于云排查查询的数据是脱敏的,如 seller_email 和 sign,因此必须将代码中接收到的 seller_email 和 sign 复制放在云排查中的数据中。

获取支付宝公钥
工具中验签,需要设置支付宝公钥,因此有 2 种方式可以获取到支付宝公钥信息。
获取支付宝公钥数据
获取支付宝公钥流程获取支付宝公钥详见 如何获取支付宝公钥
注意:如果在接口的加签方式中设置的是公钥证书,需要使用公钥证书的方式签名,因此下载的是支付宝公钥证书,而不是支付宝公钥数据。
由于工具验签中设置的是数据信息,因此需要将支付宝公钥证书解析出支付宝公钥数据,详见 支付宝公钥证书如何解析成支付宝公钥
工具读取支付宝公钥数据
目前工具上只支持搜索应用名称,不支持搜索应用的 appid。
注意:此功能仅支持支付宝异步通知做验签,请勿对其他报文做验签。

验签
将第三步整理后的验签数据放在响应报文中。
根据异步通知返回的 sign_type 和 charset 选择对应的签名方式和字符集。

注意事项
代码验签失败,工具也验签失败,建议检查:
对比打印示例和云排查查询的数据是否相同,或缺少数据(可忽略 sign 和 seller_email)。如果不一致,说明在接收数据后,传输或者某一个步骤导致通知数据错误。一定要是代码接收通知中 notify_time 对应的那笔异步,不然 sign 和代验签字符串是无法匹配的。
检查支付宝公钥的获取是否正确,可结合获取支付宝公钥中的 2 种方式对比数据是否一致。
代码验签失败,工具验签成功,建议详见
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图