Android微信支付遇到的大坑
公司前段时间要求在项目上面加上微信支付,由于之前没有做过微信的支付,所以遇到的坑挺多的,再有就是微信的文档实在是太…..这里就不多说什么了,已经无力吐槽了,下面就在继续跟着走一遍这个流程
第一步
首先先在微信开放平台注册自己的账号,然后申请创建应用,填写相应的资料,这些让负责这事的人去做就行,这里面有一个坑,就是填写签名的时候不要用自己打包的那个签名,人家有自己的签名生成工具
点击下载 签名生成工具
里面写自己的包名然后就能得到想要的签名
第二步
下载官方的SDK,这里有一点就是官方的依赖包不能用
compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
只能拿SDK里面的jar包copy到自己的项目里面然后添加依赖,然后把wxapi文件整个copy到你的项目中
首先做好微信支付所准备的数据
请求参数
字段名 | 变量名 | 类型 | 必填 | 示例值 | 描述 |
---|---|---|---|---|---|
应用ID | appid | String(32) | 是 | wx8888888888888888 | 微信开放平台审核通过的应用APPID |
商户号 | partnerid | String(32) | 是 | 1900000109 | 微信支付分配的商户号 |
预支付交易会话ID | prepayid | String(32) | 是 | WX1217752501201407033233368018 | 微信返回的支付交易会话ID |
扩展字段 | package | String(128) | 是 | Sign=WXPay | 暂填写固定值Sign=WXPay |
随机字符串 | noncestr | String(32) | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串,不长于32位。推荐随机数生成算法 |
时间戳 | timestamp | String(10) | 是 | 1412000000 | 时间戳,请见接口规则-参数规定 |
签名 | sign | String(32) | 是 | C380BEC2BFD727A4B6845133519F3AD6 | 签名,详见签名生成算法 |
这些数据都是后台返回给你的值,不要担心找不到这些数据
第三步
接下来就到了核心了
IWXAPI api = WXAPIFactory.createWXAPI(PopwindousActivity.this, weixinBean.getData().getAppid());//data 根据服务器返回的json数据创建的实体类对象PayReq req = new PayReq(); req.appId = weixinBean.getData().getAppid();req.partnerId = weixinBean.getData().getPartnerid();req.prepayId = weixinBean.getData().getPrepayid();req.packageValue = "Sign=WXPay";req.nonceStr = weixinBean.getData().getNoncestr();req.timeStamp = weixinBean.getData().getTimestamp();req.sign = weixinBean.getData().getSign();api.registerApp(weixinBean.getData().getAppid());//发起请求api.sendReq(req);
上传你的数据,同样这句话是写在你的微信支付的点击事件里面的,做完这些就可以支付了,别忘记加权限
还有就是返回码一共三个
名称 | 描述 | 解决方案 |
---|---|---|
0 | 成功 | 展示成功页面 |
-1 | 错误 | 可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。 |
-2 | 用户取消 | 无需处理。发生场景:用户不支付了,点击取消,返回APP。 |
Android微信支付遇到的大坑相关推荐
- android微信支付代码,详解android微信支付实例代码
这篇文章主要为大家详细介绍了http://www.php.cn/wiki/1502.html" target="_blank">android微信支付源码,具有一定 ...
- Android 微信支付总结
由于公司运营需要,Android客户端要增加微信支付.在看了几遍官方文档之后,加上之前有集成微信分享的经验,所以很快就把调用微信支付的代码写好了,待微信支付相关接口完成后联调时,才发现山高路远坑深啊! ...
- android+微信支付
微信支付 目录 微信支付 1 一. 创建应用 2 二. 支付集成 5 1.body字段格式 8 三. 参考网址 12 四. Android Studio的两种模式及签名配置 12 一. 创建应用 1& ...
- android微信支付问题总结
首先我们先看一个android微信支付时遇到的一个错误提示: onPayFinish, errCode = -1 当你参数签名都没有问题的时候,出现这个提示,请按照如下操作: 在你的项目测试andro ...
- android 微信支付接口申请分享
开头不那么多废话直接给大家上过程:1.进入微信开发平台 连接 [微信开发平台](https://open.weixin.qq.com/) 登陆帐号然后选择移动应用接入. 进去进行创建应用,创建的时候要 ...
- android 微信支付问题总结
首先我们先看一个Android微信支付时遇到的一个错误提示: onPayFinish, errCode = -1 当你参数签名都没有问题的时候,出现这个提示,请按照如下操作: 在你的项目测试andro ...
- android微信支付(问题总结)
android微信支付(问题总结) 2015-08-11 16:26 7541人阅读 评论(7) 收藏 举报 分类: Android开发(1457) 作者同类文章 X 感谢博主的分享:http://b ...
- Android 微信支付支付宝支付
由于项目需求,加入这2个功能记录一些需要注意的地方 一.微信支付 微信支付在2016年4月份左右稍微调整了一下支付过程,但是文档却没怎么更新,这也是百度上为什么那么多开发者都说微信是个大坑. 身为一个 ...
- android安装多个微信支付,android微信支付详解与坑
要想在自己的APP中实现APP支付必须申请开通支付功能,这些按着文档来吧,我还是直接说Android中的问题吧. 一.签名 一定要在开放平台为自己的APP配置正确的包名和签名(签名:将APP打一个正式 ...
最新文章
- Hadoop 三大发行版本
- 【任务脚本】0616吐槽tb坑爹活动,预测看好jd活动,更新汇总战绩,DIY净水器预告...
- 【NLP】Google T5速读
- shell学习笔记3---awk的执行过程(原创)
- Python多任务(1.多任务的介绍、并发和并行概念及小例子)
- java7优化,七、索引优化分析
- 数据结结构学习 ---赫夫曼树
- 工作169:删除操作
- 云智慧完成D3轮6000万美元融资,继续领跑智能运维市场
- 为什么程序员应该避免间接代码?
- JEECG弹出表单调用列表刷新
- 语音识别是什么意思_语音识别的翻译_音标_读音_用法_例句_爱词霸在线词典
- vue展示日历 考勤展示_vue实现简单的日历效果
- curl测试post请求
- 基于DDPG的智能交通灯控制算法
- mysql中预设的拥有_MySQL中预设的、拥有最高权限超级用户的用户名为
- STM32——EMWIN JPEG 图片显示(二十三)
- JAVA/JS针对常见的字符数据处理的一个总结(JS截取字符串,判断是否包含某个字符串及它出现的次数;JAVA数据四舍五入,去掉科学计数法,截取特定符号之前或之后的数据)
- 关闭IDEA提示 empty tag doesn't work in some browsers(设置inspections)
- 软件工程——数据流图
热门文章
- Opencv中,椭圆拟合后,得到该椭圆方程系数。
- 【历史上的今天】8 月 9 日:人工智能理论的奠基者诞生;鸿蒙 OS 发布;“云计算”概念被提出
- Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException
- 噩梦射手(SurvivalShooter)教程(一)
- 搭建基于XDEBUG的调试环境
- Linux主分区文件系统,Linux_Linux磁盘和文件系统管理,1、 分区MBR(Master Boot Recor - phpStudy...
- 如何打造一个可躺赚的网盘项目,每天只需要2小时
- SkeyeVSS实现RTSP、Onvif监控摄像头网页无插件化直播监控解决方案
- win10 + MuMu 安装与配置frida环境
- DP4398:国产兼容替代CS4398立体声24位/192kHz音频解码芯片