android微信支付开发教程网上很多,但是大部分都是两年前的,由于微信官方稍微改动了android微信支付细节,在这里呢主要介绍android最新接入微信支付的流程。
此文基于微信支付SDK3.1.1,也就是目前为止最新的SDK
不过我相信,即便你看了微信的官方文档,你依然不知道微信支付怎么集成,因为微信支付的官方文档简直太.....
如果你已经准备好了资源包,接下来正式开始集成
我们需要的资源其实有以下几样,在开始前,就这些转备好吧
1)微信支付的APPID
2)微信支付依赖包 >>> libammsdk.jar
3)一个Activity类 >>> WXPayEntryActivity.java
这里需要特别说明一下,这个Activity类,直接从上下载到的范例代码中copy到自己的工程中即可,这个页面是在你调起微信支付完成支付(或取消或失败)后,再回到你的App时会调用的一个页面。页面的布局可以是你自定义的布局,直接放图讲解:
先说一下这个类的路径,网上也有一大堆介绍了,我直接放图,路径一定,而且必须是这样的:
在这个类中需要注意的地方有两个:
1、这个类中的布局是可以自定义的,如果你不需要展示什么布局,而是要跳转页面,把这段代码删除即可
2、回调结果的处理,下面是官方的处理方式,直接给了一个dialog,很多人会摸不着头脑,如果你不需要这个dialog,直接删除就好了,不需要把官方demo中的布局和资源都复制过来
下面是我自定义的处理方式,比较简单,就是土司显示了一下支付结果,如果你需要支付成功后跳转,那么直接在这里startActivity即可,别忘记最后要将这个页面finish()
这个类中的其余的回调方法,我们都不需要去操作
然后我们就可以开始支付了,支付很简单,真的很简单
需要注意应用要通过审核,并且几个Key值正确,一下为微信支付Demo中的值:
private String app_wx_appid=WxConstants.app_wx_appid; //微信开放平台和商户约定的密钥 private String app_wx_secret_key="db426a9829e4b49a0dcac7b4162da6b6"; //微信公众平台商户模块和商户约定的密钥 private String app_wx_parent_key="8934e7d15453e97507ef794cf7b0519d"; //微信公众平台商户模块和商户约定的支付密钥 private String app_wx_pay_key="L8LrMqqeGRxST5reouB0K66CaYAWpqhAVsq7ggKkxHCOastWksvuX1uvmvQclxaHoYd3ElNBrNO2DHnnzgfVG9Qs473M3DTOZug5er46FhuGofumV8H2FVR9qkjSlC5K"; // 商家向财付通申请的商家id */ private String app_tx_parent_key = "1900000109";
这是微信支付需要我们携带的参数,对于新人来说,可能比较困惑的是我怎么生成这些参数呢?其实这些参数都是服务器返回给我们的,APPID我们可以自己保存在本地一份,其余的都是服务器返回给我们的,如果读者实在还是找不到这些参数的头绪的话可参考java获取微信timestamp,nonceStr,signature,大概介绍一下流程:
最后,服务器返回给我们微信支付的参数后,我们就可以愉快的支付了,这里是关键一步,注意!!
至此我们已经可以调起微信支付页面来支付了
最后还有一个需要注意的是,很多人被这一步坑了,就是关于微信开放平台签名的问题。其实只要你手机上的程序的签名和你在微信平台登记的签名一致即可,无论是debug版本,还是release版本
为了方便测试,我暂时填写的是我debug的签名,当然这个是可以改的,修改后会有审核期,几天就不知道,有时会很快,当应用快上线之前,记得去改为正式的签名即可,修改次数我也不知道了,可以自行百度一下!
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程