明明已经按照签名规则,ascll进行排序,也进行了md5加密,为什么还是接口显示签名验证失败
你这是那个api的,你可以使用postman先按照他给的测试实例,试一下!
你在
sign = md5(sign);
上面一行输出一下数据,贴一下看看
还有参数字段为sign
{sign:sign}
这样试一试。
还有就是是post还是get,应该不是这个问题。
再者需要你自己调试了
感觉问题比较多,我说说我发现的
显示签名错误正常呀,因为你
签名校验失败的排查思路
1、使用签名检查工具校验签名算法是否有误
2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)
3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)
4、确认参数的大小写,参数名与接口文档一致
5、签名原串的参数值使用原始值,不需要encode6、接口需要使用UTF-8编码
你只传了签名,服务器那边也没法验证对比是否正确 自然返回签名错误
只传了签名