原先微信支付签名加密一直使用默认的MD5加密,可以正常使用,后来因安全问题,单位要求改成HMAC-SHA256加密,现在问题是用微信支付接口签名校验工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)可以校验通过,支付时却一直报签名错误,调试了两天了,也在网上搜索各种解决办法都无效,现在没试的就是改商户Key,这个不能改,因为很多个小程序使用的是同一个Key,改了其它都没法用了,实在是不知道怎么回事了,只能发贴求助下。
签名类型:
校验通过:
签名错误:
我的是用默认MD5,校验是正确的,但是返回的是签名参数错误,怎么解决
仔细检查参数,核对参数没有问题。注意大小写,转义。还有编码。不要造成乱码。
我本来也是觉的应该是参数的问题,但参数用MD5就没问题,现在线上的用MD5还没替换呢。。。真是邪门了
顺便吐槽下:这后台错误信息反馈的太笼统了,就不会指出具体是哪一条哪个参数有问题吗?
参数问题,key应该没有问题,只是你传参签名有问题,仔细debug检查检查吧