您的位置:首页 > 移动开发 > 微信开发

微信扫码支付的坑(android)

2016-06-14 11:26 525 查看
微信支付相信很多同学都做过,正常的流程是:app ->商户后台 ->微信支付后台,而微信开发者中提供的SDK也是指引我们去搭建一个自己的后台,然后去跟微信后台对接,微信SDK位置:

说完正常流程,说说不正常的流程–app直接跟微信后台对接,也就是说正常流程中的商户后台在app中去实现,当听到这个需求我真他妈醉了……

由于微信支提供了一份由于搭建后台的SDK,所以只好死马当活马医了,微信这样做也是好理解的,因为支付涉及到安全问题,把证书放在终端是不安全的,所以微信也没有弄个andoird的支付SDK,幸好微信给的这份SDK是java写的………..

既然是后台的代码,那我们先用强大的Eclipse瞅一眼长啥样



看到工程左上角蓝色的M吗?这是个maven工程,再次说明微信是指引我们去搭建一个自己的后台!

然后我强行把这个工程转移到Android Studio里面…..蛋蛋马上要碎



这里我把libs里面用到的其它jar包P掉,还原刚开始转移的情况,我建包按照maven工程项目结构来命名,意思就是Android Studio与Eclipse的项目结构是一样样的,好,然后天真的运行app…..



咦…这么少错误,好嗨森,我没有还原最初的app运行情况,第一次运行的时候是一大堆红色感叹号一大堆Error,内容的大概意思都跟这个一样,就是Jar包冲突!

jar包冲突的原因是,有两个或者多个jar包都实现了相同的功能,就如图,xpp3-1.1.4c跟xpp3_min-1.1.4c都用了apache的org.xmlpull.v1.XmlPullParserFactory,你可能会问,既然jar包冲突的话,为什么腾讯还把功能相同的jar包引进来呢?我个人觉得有两种情况,第一是这份SDK是要来开发后台用的,对于后台开发来说不存在这种问题;第二是腾讯让我们在几个jar包中选一个来用……但是我觉得应该是第一种情况

解决办法:既然是实现了相同的功能,那就留其中一个,这里选择xpp3-1.1.4c……类似的情况还有http开头的四个jar包,最后我只选择了httpclient-4.3.5这个

解决了这个问题,基本上就可以进行自己的开发,这里要夸一下微信的技术支持还是做得很好的!



最后,还是要吐槽一下这份微信支付SDK,除了代码里有注释说明,没有文档去说明这SDK咋用啊,差评!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: