Android集成微信支付让你不再踩坑

来源:互联网 发布:计算机病毒预防软件 编辑:程序博客网 时间:2024/05/21 08:01

       最近项目中由我负责支付这块的功能,本人经验不多,其实我是拒绝的,但是么有办法,早就听说微信支付的坑很多,其实开始都没有在意,但是真正做的过程中,感觉真是想问候微信编写文档的大哥,话不多说,希望我的这篇分享能给大家实现微信支付功能的小伙伴们带来帮助,少走弯路,不再入坑。

1.首先比较简单的,根据文档中首先快速集成,这里再啰嗦一下步骤;

  (1)首先申请你的appid;

    (2)下载微信终端开发工具包,把libammsdk.jar包放入你的项目中;

(3)再AndroidManifest.xml中添加相应权限和activity;

(4)在工程主入口处初始化

(5)这一点比较坑了,要认真阅读文档,在工程src下放入包和类;放置位置必须是这样,如下图


(6)在WXPayEntryActivity中修改一些东西,demo中绑定了一个试图,如果你不需要可以删除或者自定义你的试图,又几个方法是必须要的,如图:



OK,到这里集成微信的东西基本上完成了,下面就是好多坑在等着你了,好吧,看了官方文档你是不是还是不知道该怎么集成未付功能,仅仅给你了接口地址和一些参数什么的,当时我看到这也比较懵B。其实不用怕,我们也就值需要它,其他的都无所谓,把demo中相关的方法我做成了一个utils类,之后我会上传一个文件,就是微信所用到的方法,要调取微信支付界面大概有如下几个步骤,如果看不懂,把我封装的工具类拷入代码中,一切解决,只需要修改工具类中的方法参数就可以了。

1.整个过程中,需要发送两次请求,首先通过如图方法把需要的参数传入,这边我是通过服务器请求的数据传入的,demo中应该是订单号,金额等参数,这里根据你需要的传入参数就可以了;这里有个很大的坑,我踩了很久,如果你的body参数,就是标题需要传入汉字,那么下面的字符编码就需要改为iso-8859-1,这里一定要注意。

这个方法中还有几个简单的方法,都比较简单,直接上图吧


在上面那些参数的尾部拼接上秘钥,生成一串字符串


ok,到这里就能开始第一次请求了,还是上图吧



开了一个线程调用官方文档上的接口,带入你设置的参数进行请求,如果参数没什么问题的话,应该返回你成功,如果返回你签名失败的话,首先考虑appid之类的有没有错,确认无错的话,要想起字符编码的问题了,我就是这样,一直签名失败,别的问题我还没遇到过。如果成功了,恭喜你,马上就要成功了,成功之后回直接

进行第二次请求的,接口返回在WXPayEntryAvtivity这个类中处理。



返回的结果,需要处理就在这个方法中编写就OK了,这里我发送了一个消息。

至此,就可以调出微信支付界面了,图就不上了。

文采不好,也不知道你们能不能真正看懂,看不懂请下载我上传的文件,一看你就明白了,本人分数也不多,写这篇文章也不容易,请适当给下分吧。


2 0
原创粉丝点击