Android集成微信支付遇到的问题 完美解决errorcode返回-1的情况

前言

最近项目在做支付板块 支付主要用到支付宝和微信支付
支付宝支付这里就不多说了 很简单 按照官方demo套就可以了 30分钟解决支付宝支付

这里重点说一下微信支付 和遇到的问题 并如何解决的问题过程

gif图

Android集成微信支付遇到的问题 完美解决errorcode返回-1的情况_第1张图片

问题

在对接微信支付过程中 遇到了返回-1值的问题 一直返回签名或其他错误
这个问题折磨了我1天时间 真的是无从下手 没有具体的报错说明 只能从参数下手 一个一个排除法
常用参数基本都是后台返回的 不会有什么问题 而且IOS那边已经跑通了微信支付
只有我android端 err code = -1

微信支付

首先去微信开发者平台下载微信支付的demo 看下里面的支付代码
然后从后天获取数据 解析出来后 给 PayReq这个类设置参数
参数有7个

 						    req.appId = jsonObject.getString("appid");
                            req.partnerId = jsonObject.getString("partnerid");
                            req.prepayId = jsonObject.getString("prepayid");
                            req.timeStamp = jsonObject.getString("timestamp");
                            req.nonceStr = jsonObject.getString("noncestr");
                            req.packageValue = jsonObject.getString("package");
                            req.sign = jsonObject.getString("sign");

问题描述

遇到的问题就是 安卓 app支付 如果在没有登录微信客户端账号的情况下
点击按钮可以调起微信客户端 并可以填写账号和密码进行登录
但是点击登录后界面立马变成了空白界面 而不是微信支付界面
然后打出的log onPayFinish, errCode = -1
如果已经登录了微信客户端 点击 支付按钮 界面直接 变成了空白 解决了很久很久

解决思路

后台获取的参数都是不变的 出错的几率很小
IOS那边已经调通了 说明数据源没有问题
所以能出错的地方只有 签名和 其他错误了
我们先看下签名错误
签名分两种 debug 和 release
这种对接第三方的 哪怕是debug版本最好也使用自己的签名
keystore用自己的 然后在build. gradle里边配置好打包需要的签名
先生成一个签名文件 就是.jks文件 然后将这个签名文件复制到app的根目录下
再配置 debug 和 release 相对路径

说的好像有点乱 下面代码说明一下

build. gradle(app)配置代码

 signingConfigs {
        release {
            keyAlias '口令'
            keyPassword '私钥'
            storeFile file('fulloilkeystore.jks')
            storePassword '密码'
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 
            'proguard-rules.pro'
            signingConfig signingConfigs.release
        }

        debug {
            signingConfig signingConfigs.release
        }
    }

build. gradle配置文件签名

Android集成微信支付遇到的问题 完美解决errorcode返回-1的情况_第2张图片

签名文件复制到app的根目录下 方便打开app后配签名信息
Android集成微信支付遇到的问题 完美解决errorcode返回-1的情况_第3张图片

最后

配置好签名文件后 打一个正式包
然后安装到手机上 32位签名工具下载地址
最后配置开发信息 就OK了

Android集成微信支付遇到的问题 完美解决errorcode返回-1的情况_第4张图片

总结

微信对接 确实比支付宝麻烦一些 经历了也算学到了
有问题可以一起讨论

共勉

我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天
Android集成微信支付遇到的问题 完美解决errorcode返回-1的情况_第5张图片

你可能感兴趣的:(Android,技术,我的专栏)