微信扫码支付官方下载的demo本地运行时遇到的坑以及对应解决方法

由于公司需要,由我负责一个项目在线支付的模块,于是我分别从微信和支付宝官网分别下载了扫码支付的demo,支付宝的demo只要按照官方说明还是比较轻松就能跑起来的,而且需要的jar报比较少,项目本身就是一个可以运行的web小项目(没有使用maven管理依赖,毕竟本来就没有几个jar包需要导,本身就用不着)。然后,微信支付不光官方文档写的比较乱,官方提供的demo更是让我无语,下面就说一说我在本地运行微信扫码支付项目所遇到的坑以及解决方法:

1、将工程导入到eclipse中(由于项目是maven管理依赖的一个jar工程,因此eclipse必须需要有maven环境——如果不知道maven是什么的同学的话先不管,可以先百度一下怎么在电脑上安装maven环境以及eclipse中如何安装其插件)之后,会提示少包,我的是因为jdk包没有导进来,这个根据具体情况吧,不是所有都会遇到,当我把jdk包导进来之后(此时工程上面的那个红色的叹号消失),HttpClient相关的类都报错,运行的时候一直报错,错误的意思是找不到相关的类,最后通过网上查询,发现应该是maven中依赖的HttpClient相关的报不全,最后通过去官网下载,将相关jar包全部放到工程中就ok了(下载地址hc.apache.org/downloads.cgi),果然不再报错了

2、LogFactory报错,与1的原因一样,同样是因为依赖包的问题,解决办法:将pom.xml文件中,slf4j的所有依赖管理注释掉,替换成 下面的代码
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.2</version>
</dependency>

如图:
这里写图片描述
修改之前工程中是slf4j的三个相关jar包,但是少了log4j的包,修改完依赖之后,变成slf4j的两个相关jar包+log4j的包了,此时项目已经可以正常运行了。
3、第三个也是最容易出错的地方,当demo可以正常运行的时候(需要正确配置appid mchid key 等),测试扫码支付下单接口返回“签名错误”!
遇到这个问题的时候,首先需要我们确认appid mchid key等配置都是正确的,而后就需要看看这个接口的参数是不是按照参数名ASCII字典序排序的了!官方的接口中样例代码并没有按照ASCII字典序排序的,因此需要自己调整一下参数顺序(这点比较坑啊!)调整之后参数顺序应该为:
这里写图片描述
以上就是我遇到的几个问题,至于demo里面的测试代码,微信支付的代码不知道为啥非要写的那么复杂,反观支付宝的就比较简单了!

试着发起一个“腾讯充值中心-QQ会员充值”为标题的支付请求
这里写图片描述
获取支付链接并生成二维码,手机微信扫码之后显示:
这里写图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

於之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值