后面有源码参考
1、sdk问题
下面是WXPayConfig,抽象方法是不带修饰符的,只能同一包使用,我的配置怎么能在同一包下呢,坑,
改源码:使用public 修饰

然后demo也是坑,实现抽象类,不知道谁写的
改源码:使用继承

修改后

2、签名问题-预支付
WXPayUtil.generateSignature(preOrder, weixinConfig.getKey(), WXPayConstants.SignType.HMACSHA256)
默认使用MD5,签名不通过,要使用HMACSHA256
3、签名问题-支付回调
巨坑
官方demo

老子怎么弄都是验证失败,最后发现签名也得用算法HMACSHA256
关键是提供的sdk方法
就是使用MD5,折腾这么旧,假如我手动加入"sign_type":"HMAC-SHA256",这个数据也会拼接字符串签名,也是验证失败
下面是微信回调返回的数据没有sign_type

万千草泥马,最后自己签名对比,发现用HMACSHA256才行,不能用demo的写法了,修改为
if (WXPayUtil.isSignatureValid(notifyMap,weixin

本文详细记录了在使用微信支付SDK时遇到的签名失败问题,包括SDK的包访问限制、预支付签名错误以及支付回调验证失败。解决方法涉及修改源码,将签名算法从MD5改为HMACSHA256,并且指出官方demo中存在不明确的签名类型设置,导致验证失败。开发者需要自行使用HMACSHA256进行签名以确保支付过程的安全。
最低0.47元/天 解锁文章
1652

被折叠的 条评论
为什么被折叠?



