微信支付 app支付 签名失败,微信支付的坑,微信支付SDK demo bug

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

后面有源码参考

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,weixi
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值