公司前段时间要求在项目上面加上微信支付,由于之前没有做过微信的支付,所以遇到的坑挺多的,再有就是微信的文档实在是太…..这里就不多说什么了,已经无力吐槽了,下面就在继续跟着走一遍这个流程

第一步

首先先在微信开放平台注册自己的账号,然后申请创建应用,填写相应的资料,这些让负责这事的人去做就行,这里面有一个坑,就是填写签名的时候不要用自己打包的那个签名,人家有自己的签名生成工具

点击下载 签名生成工具

里面写自己的包名然后就能得到想要的签名

第二步

下载官方的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微信支付遇到的大坑相关推荐

  1. android微信支付代码,详解android微信支付实例代码

    这篇文章主要为大家详细介绍了http://www.php.cn/wiki/1502.html" target="_blank">android微信支付源码,具有一定 ...

  2. Android 微信支付总结

    由于公司运营需要,Android客户端要增加微信支付.在看了几遍官方文档之后,加上之前有集成微信分享的经验,所以很快就把调用微信支付的代码写好了,待微信支付相关接口完成后联调时,才发现山高路远坑深啊! ...

  3. android+微信支付

    微信支付 目录 微信支付 1 一. 创建应用 2 二. 支付集成 5 1.body字段格式 8 三. 参考网址 12 四. Android Studio的两种模式及签名配置 12 一. 创建应用 1& ...

  4. android微信支付问题总结

    首先我们先看一个android微信支付时遇到的一个错误提示: onPayFinish, errCode = -1 当你参数签名都没有问题的时候,出现这个提示,请按照如下操作: 在你的项目测试andro ...

  5. android 微信支付接口申请分享

    开头不那么多废话直接给大家上过程:1.进入微信开发平台 连接 [微信开发平台](https://open.weixin.qq.com/) 登陆帐号然后选择移动应用接入. 进去进行创建应用,创建的时候要 ...

  6. android 微信支付问题总结

    首先我们先看一个Android微信支付时遇到的一个错误提示: onPayFinish, errCode = -1 当你参数签名都没有问题的时候,出现这个提示,请按照如下操作: 在你的项目测试andro ...

  7. android微信支付(问题总结)

    android微信支付(问题总结) 2015-08-11 16:26 7541人阅读 评论(7) 收藏 举报 分类: Android开发(1457) 作者同类文章 X 感谢博主的分享:http://b ...

  8. Android 微信支付支付宝支付

    由于项目需求,加入这2个功能记录一些需要注意的地方 一.微信支付 微信支付在2016年4月份左右稍微调整了一下支付过程,但是文档却没怎么更新,这也是百度上为什么那么多开发者都说微信是个大坑. 身为一个 ...

  9. android安装多个微信支付,android微信支付详解与坑

    要想在自己的APP中实现APP支付必须申请开通支付功能,这些按着文档来吧,我还是直接说Android中的问题吧. 一.签名 一定要在开放平台为自己的APP配置正确的包名和签名(签名:将APP打一个正式 ...

最新文章

  1. Hadoop 三大发行版本
  2. 【任务脚本】0616吐槽tb坑爹活动,预测看好jd活动,更新汇总战绩,DIY净水器预告...
  3. 【NLP】Google T5速读
  4. shell学习笔记3---awk的执行过程(原创)
  5. Python多任务(1.多任务的介绍、并发和并行概念及小例子)
  6. java7优化,七、索引优化分析
  7. 数据结结构学习 ---赫夫曼树
  8. 工作169:删除操作
  9. 云智慧完成D3轮6000万美元融资,继续领跑智能运维市场
  10. 为什么程序员应该避免间接代码?
  11. JEECG弹出表单调用列表刷新
  12. 语音识别是什么意思_语音识别的翻译_音标_读音_用法_例句_爱词霸在线词典
  13. vue展示日历 考勤展示_vue实现简单的日历效果
  14. curl测试post请求
  15. 基于DDPG的智能交通灯控制算法
  16. mysql中预设的拥有_MySQL中预设的、拥有最高权限超级用户的用户名为
  17. STM32——EMWIN JPEG 图片显示(二十三)
  18. JAVA/JS针对常见的字符数据处理的一个总结(JS截取字符串,判断是否包含某个字符串及它出现的次数;JAVA数据四舍五入,去掉科学计数法,截取特定符号之前或之后的数据)
  19. 关闭IDEA提示 empty tag doesn't work in some browsers(设置inspections)
  20. 软件工程——数据流图

热门文章

  1. Opencv中,椭圆拟合后,得到该椭圆方程系数。
  2. 【历史上的今天】8 月 9 日:人工智能理论的奠基者诞生;鸿蒙 OS 发布;“云计算”概念被提出
  3. Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException
  4. 噩梦射手(SurvivalShooter)教程(一)
  5. 搭建基于XDEBUG的调试环境
  6. Linux主分区文件系统,Linux_Linux磁盘和文件系统管理,1、 分区MBR(Master Boot Recor - phpStudy...
  7. 如何打造一个可躺赚的网盘项目,每天只需要2小时
  8. SkeyeVSS实现RTSP、Onvif监控摄像头网页无插件化直播监控解决方案
  9. win10 + MuMu 安装与配置frida环境
  10. DP4398:国产兼容替代CS4398立体声24位/192kHz音频解码芯片