最近项目在做支付板块 支付主要用到支付宝和微信支付 这里重点说一下微信支付 和遇到的问题 并如何解决的问题过程 在对接微信支付过程中 遇到了返回-1值的问题 一直返回签名或其他错误 首先去微信开发者平台下载微信支付的demo 看下里面的支付代码 遇到的问题就是 安卓 app支付 如果在没有登录微信客户端账号的情况下 后台获取的参数都是不变的 出错的几率很小 说的好像有点乱 下面代码说明一下 签名文件复制到app的根目录下 方便打开app后配签名信息 配置好签名文件后 打一个正式包 微信对接 确实比支付宝麻烦一些 经历了也算学到了
前言
支付宝支付这里就不多说了 很简单 按照官方demo套就可以了 30分钟解决支付宝支付gif图
问题
这个问题折磨了我1天时间 真的是无从下手 没有具体的报错说明 只能从参数下手 一个一个排除法
常用参数基本都是后台返回的 不会有什么问题 而且IOS那边已经跑通了微信支付
只有我android端 err code = -1微信支付
然后从后天获取数据 解析出来后 给 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");
问题描述
点击按钮可以调起微信客户端 并可以填写账号和密码进行登录
但是点击登录后界面立马变成了空白界面 而不是微信支付界面
然后打出的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配置文件签名
最后
然后安装到手机上 32位签名工具下载地址
最后配置开发信息 就OK了总结
有问题可以一起讨论
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算