求教 jfinal - 微信支付 sign error 问题

参考 weixin_guide ,使用 jfinal 进行微信对账单下载,一直返回 sign error 错误。已经确认过,传入的参数完全正确,签名使用 PaymentKit.createSign() ,经官方签名工具验证也是正确的。也试过下面的方法:

1、换/重置了app key
2、请求的字符编码强制改为 UTF-8
3、用官方工具验证签名正确性
4、确认用于计算签名的key为商户 api key

结果还是sign error。请问各位前辈都是怎么解决的呢?

评论区

JFinal

2018-06-25 16:56

是 JDK 的 JCE 文件没有替换吧,看一下 jfinal weixin 项目的这个文档:
https://gitee.com/jfinal/jfinal-weixin/blob/master/src/main/java/com/jfinal/weixin/sdk/encrypt/readme.txt

这个文档是 weixin 官方提供的

oun111

2018-06-25 17:23

@JFinal 按照文档替换了2个jar文件后,单步跟踪,发现程序执行到请求发送 HttpUtils.post() 的时候,直接跑到ThreadPoolExecutor.run() 的finally 块里面去了。请问这个是不是版本不对?我的jdk是1.6的

JFinal

2018-06-25 17:48

jfinal weixin 要使用 1.9 这个版本,不要使用线上源码打包,线上的版本是没发布的

JFinal

2018-06-25 17:49

注意多多单步调试,根据文档来:
https://gitee.com/jfinal/jfinal-weixin/wikis/Home

weixin_guide 这个项目不知道更新没有,是不是有 bug, 以 jfinal weixin 的文档为准:
https://gitee.com/jfinal/jfinal-weixin/wikis/Home

oun111

2018-06-26 09:40

JFinal

2018-06-26 10:34

@oun111 搞定了没? 解决的方法分享出来啊

JFinal

2018-06-26 10:34

@oun111 注意这个 JDK 的 JCE 文件是分版本的,不同的 JDK 版本需要下载的文件不同,否则也是无法工作的

热门分享

扫码入社