Android中微信支付申请、集成、出包等整个过程
来源:互联网 发布:登陆淘宝网店 编辑:程序博客网 时间:2024/04/28 18:11
1.首先,做微信支付,一般情况下公司会有人在微信平台注册公司的账号,然后申请IOS/Android等应用,这个时候需要Android工程师需要提供应用签名和包名这两个东西。
2.接下来就是怎么获取应用签名:获取应用签名
备注:其实下图中MD5值就是应用签名的值(去掉冒号),也可以通过获取签名工具获取该值;记得保存好keyStore文件,最后集成完微信支付,Apk必须出包才能调起微信支付。
3.这个时候最好到微信开发平台下载一个Demo研究一下,当然很多人都会发现Demo第一次是可以调起微信支付,之后支付就老返回-1。接下来我说一下集成微信支付需要注意的一些问题。
1).首先一定要注册微信,而且要判断手机时候安装微信,如果没有安装微信,要提醒用户,否则调起支付的时候会出现闪退的状况。
api = WXAPIFactory.createWXAPI(SaveSuccessActivity.this, mAppId, false); api.registerApp(mAppId); wxAppInstalledAndSupported = DataUtil .isWXAppInstalledAndSupported(SaveSuccessActivity.this, api);
2).一定要确保这六个参数是正确,然后调用sendReq()方法调起微信支付。所以最好这个七个参数由后台统一返回,这样不仅确保账户的安全性,更加确保检查7个参数是否正确。
if (api != null) { if (wxAppInstalledAndSupported) { PayReq req = new PayReq(); req.appId = mAppId; //AppId req.partnerId = mMchId; //商户id req.prepayId = mPrepayId; //预定id req.packageValue = ConstantsMember.PACKAGE; // Sign=WXPay req.nonceStr = mNoncestr; //随机字符串 req.timeStamp = mTimeStamp; //时间戳 req.sign = mSign; //二次签名 api.sendReq(req); } }
3).当然有些公司后台会偷懒,只返回预定id(prepayId )给你。这个时候,就需要你自己获取随机字符串、时间戳以及通过二次签名(这个参数是通过其他的六个参数获取的),具体的获取方法可以自己百度一下。
4).二次签名是最容易出错,还有req.packageValue = Sign=WXPay; // Sign=WXPay,一定要注意大小写。微信平台上面有专门检验二次签名是否正确的工具。
微信提供相关接口在线签名验证工具:点击进入。
4.集成微信支付后,要使微信支付调起来,一定打包Apk,用之前生成的keyStroe文件打包。打包的应用别名就是你填写信息的别名,这个也要注意。
0 1
- Android中微信支付申请、集成、出包等整个过程
- 【android】轻松集成支付包支付
- android 集成支付宝支付
- Android集成支付宝支付
- Android 集成支付宝支付
- Android 集成支付宝支付
- Android集成微信钱包支付V3.1.1(一):接口申请
- 安卓微信支付集成(1)--微信支付功能的申请
- android集成GooglePay支付,实现应用内支付,如金币等
- android集成支付宝
- android 集成支付宝
- Android 集成 支付宝
- Android支付宝集成
- Android支付宝集成
- Android集成支付宝
- Android集成PayPal支付
- Android集成支付宝
- Android 集成支付宝
- mysql语句
- 关于PV操作
- 基于行的逻辑
- TCP UDP IP HTTP之间的联系
- 康拓展开
- Android中微信支付申请、集成、出包等整个过程
- 天天爱跑步
- Codeforces 734E. Anton and Tree By Assassin 缩点+树的最大直径
- 计算机中的定点和浮点表示
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
- ural 1881
- JDBC基本操作(Statement,PreparedStatement,Connection,Transaction等)
- nginx源代码分析 - 启动(八) 避免epoll_wait惊群
- react-redux 之 connect 方法详解