#支付宝 isv.invalid-alipay-root-cert-sn(无效支付宝根证书,怎么办?-问答-阿里云开发者社区-阿里云

开发者社区> 保持可爱mmm> 正文

#支付宝 isv.invalid-alipay-root-cert-sn(无效支付宝根证书,怎么办?

2020-05-05 17:03:47 2911 2

isv.invalid-alipay-root-cert-sn(无效支付宝根证书序列号)

取消 提交回答
全部回答(2)
  • Marksirl
    2020-07-07 10:05:29

    我也遇到过这个问题,配置都是正确的,换了一个php版本可以正常跳转支付。调试了一下sdk代码,AopCertClient类下有一个hex2dec 方法,这里返回了一个round缺失精度类型,并且转为幂输出,修改如下,sdk版本php-4.9.1。

    function hex2dec($hex) {
            $dec = 0;
            $len = strlen($hex);
            for ($i = 1; $i <= $len; $i++) {
                $dec = bcadd($dec, bcmul(strval(hexdec($hex[$i - 1])), bcpow('16', strval($len - $i))));
            }
    
            // return round($dec, 0);
            return $dec;
    }
    

    __ 希望对你们有所帮助!__

    2 0
  • 保持可爱mmm
    2020-05-05 17:04:04

    报错原因

    1、支付宝CA根证书文件路径(alipay_root_cert_path)错误;

    2、支付宝CA根证书证书设置错误;

    3、签名方式sign_type值设置错误;

    4、php语言服务端sdk版本过低; 排查方案 1、支付宝根证书路径设置错误

    支付宝CA根证书文件路径(alipay_root_cert_path)路径存在问题,建议检查路径传值是否正确;

    (1)文件路径需设置绝对路径;

    (2)核实对应的文件路径是否存在CA根证书文件;

    2、支付宝根证书引用错误

    alipay_root_cert_path设置路径对象错误,不是支付宝根证书

    注:支付宝CA根证书文件,需要点击进入,选择使用的应用,再点击应用信息,

    如图:

    然后在“接口加密方式”中的“支付宝根证书”位置,点击“下载证书”。

    如图:

    3、sign_type设置错误

    公钥证书方式方法做请求,sign_type必须是sign_type=RSA2;

    4、php语言服务端sdk版本过低

    php语言服务端sdk版本4.2.0以下的版本存在openssl兼容性问题,如果alipay_root_cert_sn解析的值存在下划线_后面以0X开头的会出现解析错误的情况;

    例如:alipay_root_cert_sn=687b59193f3f462dd5336e5abf83c5d8_02941eef3187dddf3d3b83462e1dfcf6

    解决方案:需要升级php语言服务端sdk,升级到sdk4.2.0以上即可.

    0 0
添加回答
66
文章
12595
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载