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

前言

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

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

gif图

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
如果已经登录了微信客户端 点击 支付按钮 界面直接 变成了空白 解决了很久很久

导致errorcode返回-1

更新于2020-09-17 14:35
提示1:
方法一:如果你使用的测试服务器地址 也是走不通微信支付的 返回 -1;
我在使用测试服务器地址测试的时候 也是走不通微信支付 返回-1;
但换成线上域名之后,就可以微信支付成功了。
提示2:
方法二:微信开发者平台 客服回复的答案 有关于缓存的问题 这个问题我亲测确实是有的解决办法 就是换一台手机试一下。我是通过这个方法解决的。

还有以下解决思路 可以看下 是不是这个问题

解决思路

后台获取的参数都是不变的 出错的几率很小
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配置文件签名

1

签名文件复制到app的根目录下 方便打开app后配签名信息
在这里插入图片描述

最后

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

在这里插入图片描述

总结

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

共勉

我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天
2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕氏春秋i

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值