更新时间:2023-04-06 15:04:52收藏我的文档设置返回文档错误描述公钥证书方式签名报错 isv.invalid-alipay-root-cert-sn(无效支付宝根证书序列号)。javascript复制代码91{"code":"40002","msg":"invalid arguments","sub_code":"isv.invalid-alipay-root-cert-sn","sub_msg":"无效支付宝根证书序列号"}问题原因●支付宝 ca 根证书文件路径 alipay_root_cert_path 错误。●支付宝 ca 根证书证书设置错误。●签名方式 sign_type 值设置错误。●timestamp 参数被转义●php 语言环境或者 sdk 版本错误。 排查方案可通过云排查查询请求参数 alipay_root_cert_sn 信息,目前支付宝根证书正常解析的支付宝根证书序列号 alipay_root_cert_sn 是 687b59193f3f462dd5336e5abf83c5d8_02941eef3187dddf3d3b83462e1dfcf6(到 2028 年之前都不会变),请将代码中的 alipay_root_cert_sn 设置为该固定值进行测试。 支付宝根证书路径设置错误支付宝 ca 根证书文件路径 alipay_root_cert_path 路径存在问题,建议检查路径传值是否正确:●文件路径需设置绝对路径。●核实对应的文件路径是否存在 ca 根证书文件。支付宝根证书引用错误alipay_root_cert_path 设置路径对象错误,不是支付宝根证书。1支付宝 ca 根证书文件,登录 进入对应应用详情页对应应用详情页 应用信息 界面; 2在 接口加密方式 中的 支付宝根证书 位置,点击 下载证书。 sign_type 设置错误使用公钥证书方式方法做请求,sign_type 必须是 sign_type=rsa2。 timestamp 参数被转义接口数据本身没有问题,但由于数据输出时被转义,如 ×tamp 转义成 ×tamp,一般常见于 php 语言数据输出到浏览器页面导致,若数据输出到日志中则正常。php 语言环境或者 sdk 版本错误该问题主要是由于 php 语言导致。openssl 兼容性问题php 语言服务端 sdk 版本 4.2.0 以下的版本存在 openssl 兼容性问题,如果 alipay_root_cert_sn 解析的值为下划线_后面以 0x 开头(如 959193f3f8482625845abf83c5d8_0x941eef3187dddf3d3b83462e1d5416),该数据解析错误。需要升级 php 语言服务端 sdk 到 4.2.0 以上即可。正确解析数据如:alipay_root_cert_sn=687b59193f3f462dd5336e5abf83c5d8_02941eef3187dddf3d3b83462e1dfcf6 环境兼容问题建议更换 php 的运行环境为 7.0 以下测试,避免运行环境版本过高对 sdk 不兼容。若无法更换环境,建议在代码中对 alipay_root_cert_sn 固定赋值:687b59193f3f462dd5336e5abf83c5d8_02941eef3187dddf3d3b83462e1dfcf6。正确解析的支付宝根证书 sn 传参,详情请参见 其他语言解析支付宝根证书 sn。