更新时间:2023-12-15 14:05:48收藏我的文档设置返回文档背景在接口开发测试时,需要涉及到通知的验签,但是自己写的代码中无法验签成功,如何进行核实检查呢?可以通过支付宝开放平台开发助手、云排查、签名验签等工具结合验签了解。获取验签通知获取通知异步通知的获取必须通过验签代码中获取,而不是自己直接获取到的数据。避免检查时,在自己直接获取数据到传值到验签代码过程中数据出现错误导致。打印示例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 种方式对比数据是否一致。●代码验签失败,工具验签成功,建议详见 。