Android中微信支付申请、集成、出包等整个过程

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值