也谈“小程序支付签名验证失败”

采用wx.requstPayment[前端]和java-sdk-v3.0.9[后台]实现定额微信服务支付,前端wx.request请求,后台获取支付者唯一标识openId、统一支付颇订单unifiedOrder和签名generateSignature,返还参数都很正常,前端调用wx.requstPayment发起支付,总是得到“支付验证签名失败”。

1 二次签名有问题?

用微信签名验证工具和MD5验证,都没有异常。

2 appId有问题?

不少实践者网上发文说,二签名appId要大写,于是实验,也没有效果。

3 签名加密类型有问题?

查询,实验,果真:初始化默认HMAC-SHA256。

3.1 统一下单申请时选用MD5,不起作用

data.put("sign_type", "MD5"); 

 wxPay.unifiedOrder(data)函数根本不理会。

3.2 修改二次签名和支付统一用HMAC-SHA256,仍然不解决问题。

全部改用MD5:

不起作用。

3.3 反复摸索,只有调整: 

 

 

有效。 

最终调起支付页面如下:

发布了15 篇原创文章 · 获赞 0 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u010941124/article/details/94379376