Android微信app支付集成步骤详解
2016-12-11 17:30
316 查看
准备工作
在应用集成微信支付之前,我们在微信开放平台必须要个开发者账户1.注册完之后创建一个移动应用,并获取APPid等可以参考:
http://blog.csdn.net/vroymond/article/details/53422744
2.申请开通微信支付能力
认证开发者资格
开通微信支付
3.开通成功后,获取得到商户号并在商户平台配置API密钥(生成预支付订单号需要)
API密钥配置流程:http://help.ecmoban.com/article-2085.html
4.在项目中导入微信提供的jar包
5.在项目包名下创建一个wxapi的包,并创建一个WXPayEntryActivity的类(微信分享以及登录必须要求,该类继承activity并实现IWXAPIEventHandler接口,用于拿到支付的回调结果),并在清单文件中注册。
调起微信支付
步骤:1.客户端(APP)提交订单信息给服务端,服务端根据微信接口:统一下单接口,生成预支付Id(prepay_id)返回给客户端。
2.客户端(APP)根据预支付Id(prepay_id)调起微信支付
如何生成预支付Id(一般在服务端生成)?
根据统一下单接口文档的规则:服务端需要必须提交的参数字段有以下这些:(POST格式为XML)
应用ID appid 微信开放平台审核通过的应用APPID
商户号 mch_id 微信支付分配的商户号
随机字符串nonce_str 随机数生成算法
商品描述body
商户订单号out_trade_no
总金额total_fee
终端IP spbill_create_ip
通知地址 notify_url
交易类型trade_type
签名sign 签名生成算法(重要)
详情可看:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
sign签名生成:
1.把我们所需要提交的参数(除sign外),拼接成URL键值对的格式(即key1=value1&key2=value2…)
2.得到拼接后的字符串之后拼接在商户平台生成 API密钥
3.拼接完key之后,进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign
提交所有参数 调起统一下单接口 获取预支付Id
APP客户端调起微信支付
根据微信提供的调起微信支付的规则,APP端需要提交的参数为:
1.sign签名生成
sign签名生成步骤跟上面叙述的是一样的(省略)。
2.生成完签名,拼接所有支付参数。(PayReq,IWXAPI是微信提供jar包里的类)
3.调起微信支付
4.在WXpayEntryActivity中接收支付回调,判断支付状态,根据项目要求做其它操作。
(注意,运行的应用签名必须跟在微信开放平台的签名需要一致,为了方便调试可以让debug使用relase签名,配置步骤可参考:http://www.cnblogs.com/niray/p/5242985.html)
至此,调起微信支付所有步骤完成
源码地址:https://github.com/CTSN/testWxPay(此代码只能做参考,已把应用签名以及APPid等删除掉)
效果图:
相关文章推荐
- android应用集成微信app支付
- Android集成微信登录的步骤详解
- 超详细的Android APP 集成 PayPal 境外支付 信用卡 借记卡 支付,支付宝 微信海外 境外支付
- 微信授权登陆接入第三方App(步骤总结)Android。
- Android集成微信钱包支付V3.1.1(一):接口申请
- Android 集成支付宝支付详解
- Android版-微信APP支付
- 微信APP支付(Java后台生成签名具体步骤)
- android集成支付,支付宝,微信
- [置顶] 微信授权登陆接入第三方App(步骤总结)Android。
- Android开发微信APP支付功能的要点小结
- Android集成微信和支付宝支付
- 微信、支付宝支付集成--Ping++支付接入步骤-iOS版
- java服务端微信APP支付接口详解
- 微信授权登陆接入第三方App(步骤总结)Android
- C#+Hybrid App(Android)实现微信APP支付
- Android开发:app工程集成银联支付功能(客户端)
- Android开发:app工程集成银联支付功能(服务器端)
- Android 集成支付宝支付详解
- Android应用集成微信、支付宝支付