Android开发第三方支付微信支付实例集成过程介绍
来源:互联网 发布:白话翻译软件 编辑:程序博客网 时间:2024/05/16 10:21
最近开发的项目需要集成第三方微信支付,于是查看了微信开放平台的开发指南顺利完成,下面为大家分享一下。
一、在集成之前先到微信开放平台拿到以下三个参数:
项目APP ID,
商户平台的商户号MCH_ID,
项目签名(一般是32位的md5串)。
拿到这三个参数之后就可以开始集成了,添加微信支付官方的包libammsdk.jar。
二:集成微信支付的主要步骤
1.先贴一下微信官方demo的结构图
2.介绍项目结构
(1).demo结构图中,微信的功能都在wxapi包下,在这里请大家注意,WXPayEntryActivity这个activity必须要在wxapi包
下,否则微信支付后没有回调结果.微信支付的结果会在这个activity中的onReq函数中回调,大家根据项目需要重写onRe
sp方法即可.同时微信官方文档指出,安卓客户端不能以微信的回调结果作为判断依据,而是要根据公司的服务器订单信
息根据订单是否支付成功来作为支付是否成功的依据.
(2).Constants类中放置了APP_ID(微信分配的公众账号ID),MCH_ID(微信支付分配的商户号),API_KEY(API秘钥,在商户
平台上设置)这三个参数,就是以上步骤一准备的三个参数。
(3).MD5,MD5Utils,Util这三个类不用修改,PayActivity这个activity就是支付界面,大家可根据项目修改支付界面
3.支付的主要步骤
(1).先生成与支付订单prepay_id
(2).生成签名参数
(3).发起支付
4.对3中的各个步骤逐一说明
(1)先提交支付的各种参数,这一步骤微信推荐在服务器端完成,但是如果公司没有完成这一步,那就必须我们在安卓端完成了.首先开启一个异步任务,根据官方的文档点击打开官方文档发起请求,在异步任务的doInBackground方法中完成生成商品参数的任务,核心代码如下:
下面是生成商品参数的方法
Map<String, String> xml = new HashMap<String, String>();
XmlPullParser parser = Xml.newPullParser();
parser.setInput(new StringReader(content));
int event = parser.getEventType();
while (event != XmlPullParser.END_DOCUMENT) {
String nodeName = parser.getName();
switch (event) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
if ("xml".equals(nodeName) == false) {
//实例化student对象
xml.put(nodeName, parser.nextText());
}
break;
case XmlPullParser.END_TAG:
break;
}
event = parser.next();
}
return xml;
} catch (Exception e) {
Log.e("orion", e.toString());
}
return null;
}
(2).第二步就是生成签名参数,主要是生成与支付订单prepay_id
(3)然后第三步就是发起微信支付了,请注意支付之前要把app注册到微信
三:特别需要注意的问题,都是我碰到的坑
(1)上面的红色标注是需要大家注意的地方
(2)微信支付的支付金额单位是分,不同于支付宝的支付金额单位(元),大家需要对分转换成元,因为订单金额是int型,所以转换步骤比较多,贴代码
(3)微信支付的商品描述如果是中文,则需要对中文进行转码,或者把商品描述改成英文
(4)就是测试微信支付的时候,如果打印的日志没有签名错误,则说明签名没有问题.但是要真正支付的话就要用keystore打包签名出来进行测试,debug测试是不会调出支付界面的
- Android开发第三方支付微信支付实例集成过程介绍
- Android开发中第三方支付支付宝、微信
- Android第三方支付--微信支付
- Android开发集成第三方支付
- Android 支付宝支付、微信支付、银联支付 整合第三方支付接入方法
- android集成第三方支付
- Android第三方实现微信支付
- Android第三方支付——微信支付
- iOS开发之第三方支付微信支付教程,史上最新最全第三方微信支付方式实现、微信集成教程,微信实现流程
- 详细介绍Android开发集成微信支付(完整版本)
- 第三方支付之微信支付
- 第三方支付之微信支付
- 微信支付以及第三方登陆集成
- Android开发中的第三方支付SDK的接入与使用(支付宝+微信支付+银联)
- 第三方支付集成
- 第三方支付集成
- 终结《android开发集成微信支付》
- Android微信支付集成开发
- 关于web项目被写入名为jsessionid的Cookie问题
- html5Mode
- PAT-B 1015. 德才论 (25)
- 安装Nginx+Lua+OpenResty开发环境配置全过程实例
- web网页编辑器收集
- Android开发第三方支付微信支付实例集成过程介绍
- Android APK反编译就这么简单 详解(附图)
- oracle用户操作
- js文件上传
- seo优化
- 自己动手实现一个Android Studio插件
- Jmeter中的BeahShell的使用(一)
- Unity HowTo 指南:运动跟踪
- Android面试题(别人总结的)