刚接触安卓开发,就遇到了项目需要接入微信支付以及退款功能,根据自己iOS开发的经验,确定如下几个步骤,一步一步的来,有不对的地方多担待。

1.配置微信支付的环境,下载微信官方提供demo,把里面需要配置的包拖进你的当前工程,这里说一下,微信官方的demo就是屎,很多的东西,需要使用者自己慢慢的爬坑,官方demo传送地址
微信安卓demo下载

需要把下面两个包拖进你的工程里,第一个有用,第二个目前还不知道有什么用处。

2.配置完环境后就可以进行微信支付的代码操作了,因为我们公司后台没有写接口,配置微信支付必要的参数,这个工作就需要在客户端来完成了,只能在网上百度各种集成好的demo示例,一点点的去验证,诶,有一个好的后台写接口,会省去你大半的功夫,好了,先上示例代码的下载链接, 微信支付客户端代码示例
下载下来运行下就能支付了么,大错特错,因为这个工程示例是用eclipse来写的 而不是用AS来写的,运行编译肯定有错误,下面我就要来说下配置他的坑,首先你需要把请求的两个jar文件导入你的工程里面 如下图

然后找到工程里面的四个文件,你可以在自己的项目中创建一个文件夹,把里面的代码全都复制粘贴过去就可以了。

上图就是下载项目中的四个文件,下图就是我自己创建的文件夹下的文件


这样创建好之后,你就需要引入必要的东西,然后编译项目,你会发现报错了,具体的错误内容我忘了,但是大体的意思就是有重复的资源之类的,直接上代码,下面代码解决了上述的问题。

packagingOptions {exclude 'META-INF/DEPENDENCIES.txt'exclude 'META-INF/LICENSE.txt'exclude 'META-INF/NOTICE.txt'exclude 'META-INF/NOTICE'exclude 'META-INF/LICENSE'exclude 'META-INF/DEPENDENCIES'exclude 'META-INF/notice.txt'exclude 'META-INF/license.txt'exclude 'META-INF/dependencies.txt'exclude 'META-INF/LGPL2.1'}

这些代码需要在 bubuild.gradle 里面去配置,你在编译一下,就不会报错了,下面你就可以生成预支付订单,然后进行支付了,现在在这里指出几个大坑。

2.1. 微信支付回调的问题,首先你需要创建一个packname文件夹,文件夹的名字必须是你的包名 + .wxapi 然后在这个文件夹下面,创建一个 WXPayEntryActivity 类,来接收微信支付回调的结果,这里就不沾出具体的代码了,上面提供下载链接里有,直接复制就能用了,因为是小白,当时对这样创建根本就不明白什么意思,浪费了很多的时间,最后搞懂了具体的意思,下面附上一张图,希望可以帮刚接触安卓开发的跳过这个坑 或许是我的理解能力不够强,

因为自己的包名是 activity.app.chielec.chargingpile 然后在后面加一个 .wxapi就可以收到回调了 ,当然,别忘了在AndroidManifest.xml进行注册,下面贴上代码

<activity android:name=".wxapi.WXPayEntryActivity"android:exported="true"android:launchMode="singleTop"/>

这样就可以收到回调了。

2.1.2 微信支付只成功一次,以后就在也调不起微信支付了,以及支付的时候支付结果老是1的问题,原因有三个,
第一,你的应用签名和你在微信开放平台上填写的应用签名不相符。
第二,你在测试微信支付的时候一直是在模拟器,或者是直接把程序运行到你的手机上进行测试,这样是不对的,卡了我好久,直到在论坛上看到别人的评论说,微信支付测试,必须打包apk才能进行测试。
第三,你的其它配置参数有问题,我相信出问题基本都是前两个原因。

下面的解决方法是 配置好必要的那些参数,打包好APK,生成APK后,会生成.jks文件,这时你就需要知道.jks文件的32位 md5 的值

keytool -list -v -keystore ~ /Desktop/agency.jks -alias 别名 -storepass 密码 -keypass 密码

加粗部分是.jks文件的路径,其它的就是打包apk时自己设置的东西。这样在AS的Terminal中输出一下就可以获取到32位的md5值了 然后在修改微信开放平台上的应用签名,确定修改后,在安装APK 测试微信支付,应该就可以顺利的支付,不会在出现上面所述的问题。后面我会整理一个单独的微信客户端支付demo出来,然后这篇文章写的有点不太好,有些细节没注意到的也请谅解。

有任何疑问,可以加我Q 382010738 共同进步。

安卓微信支付踩坑,对刚接触安卓开发的小白绝对有帮助相关推荐

  1. 加入域时出现以下错误 登陆失败 该目标账户名称不正确_微信支付踩坑合集:微信小程序支付失败是什么原因?持续更新...

    微信小程序开发的过程一定会遇到各种问题,最让人棘手的就是支付问题,因为没有支付做商城类似的小程序就没有办法完成最关键的一步.那么支付失败到底什么原因呢?一下子收集了几个错误类似,希望对你有帮助: No ...

  2. 微信支付踩坑血泪史(JAVA -V3版本)

    背景介绍 最近第一次接触到微信支付,踩了很多坑,赶紧写下来,全是心酸和眼泪.话不多说.开始展示. 项目中使用的接入方式是JSAPI(参考 产品中心 - 微信支付商户平台),当然也可以使用其他接入方式, ...

  3. 微信支付踩坑合集:微信小程序支付失败是什么原因?

    微信小程序开发的过程一定会遇到各种问题,最让人棘手的就是支付问题,因为没有支付做商城类似的小程序就没有办法完成最关键的一步.那么支付失败到底什么原因呢?一下子收集了几个错误类似,希望对你有帮助: No ...

  4. 微信支付踩坑合集:微信小程序支付失败是什么原因?持续更新

    微信小程序开发的过程一定会遇到各种问题,最让人棘手的就是支付问题,因为没有支付做商城类似的小程序就没有办法完成最关键的一步.那么支付失败到底什么原因呢?一下子收集了几个错误类似,希望对你有帮助: No ...

  5. 微信公众号开发——微信支付踩坑小记

    记录下需要注意的几个问题: 1.在每个需要调用微信支付的页面都要引入js.如果部署的服务器支持https,则应换成对应的https的js链接 2.微信公众号内填写域名,不带http://或者https ...

  6. php tp5微信支付,tp5微信支付踩坑

    /** * Created by snow. * IDE: PhpStorm * Date: 2019/3/29 * Time: 8:33 */ namespace app\park\controll ...

  7. 微信支付踩坑记录 (java后端四:企业付款到零钱)

    普通商户模式微信支付之企业付款到零钱: 前言: 为啥会用到企业付款到零钱呢,如果在自己的系统里面有涉及到用户提现,活动奖励等功能,则就可以使用到企业付款到零钱,我在这里将其称之为转账,但是使用企业付款 ...

  8. 微信分享踩坑:config:invalid signature错误的解决方法

    微信分享踩坑:config:invalid signature错误的解决方法 一般出现这个错误多半是签名获取失败,而我根据我获取到的签名跟签名算法校验里面得到的签名是一样的,于是查找大量文档,核实可能 ...

  9. lgg8各个版本_LG G8 展示机 升级安卓10 防踩坑指南

    先来对比下展示机版本信息是不是大体相同再下手 关于手机中,无s/n,无IMEI 安卓9软件版本为G820UM10C,硬件版本1.0 被阉割功能:5G频段wifi,nfc,移动网络(无基带),高分屏,r ...

最新文章

  1. 英特尔第三代 Ice Lake 发布正面与 AMD EPYC PK,结果令人大跌眼镜!
  2. 韦布望远镜现在到哪儿了:距离地球60万公里,NASA还说可以用10年
  3. PHP内核之PHP_FUNCTION宏定义
  4. mysql select内部原理_数据库SQL SELECT查询的工作原理
  5. JavaFX中的塔防(4)
  6. jsoup 获取html中body内容_Java 进阶 利用Jsoup获取HTML页面的各分页中的标题信息...
  7. aix查看oracle数据库端口号,通过netstat+rmsock查找AIX端口对应进程
  8. mcd opc读取数据 西门子数控nx_西门子TIA+PLCSIM+MCD,构建自动化仿真系统
  9. 小米上市 365 天:雷军的坚守与败退
  10. 大三学生独自破解逆天AI模型:我只是把撩妹的时间,都用来研究机器学习了...
  11. 恢复oracle中误删除delete的数据、drop掉的表
  12. scala 模式匹配概念及用法示例
  13. word2vec(一)——skip-gram原理理解
  14. H3C交换机创建ssh用户登录和设置aux密码
  15. 8月7日晚八点分享-推荐系统面试/概览
  16. QT QComBox详细用法 自定义QComboBox控件
  17. 玩转Light Blue之添加设备信息
  18. php纯文本源码,[PHP源码]文章原创度检测源码
  19. 手机投屏不是全屏怎么办_手机投屏怎么设置全屏
  20. cdr图片随意拉伸变形_PS入门篇(6)—修改图片尺寸

热门文章

  1. Dance GAN 迁移不同视频中人物动作的方法
  2. Virtualbox 启用嵌套 vt-x/amd-v 无法点击的解决方法
  3. MFC:AfxMessageBox函数随记
  4. 按指定长度截取字符串
  5. 你知道ChatGPT里面的G、P、T分别代表什么吗?
  6. linux 批量去除文件后缀,Linux 批量删除文件后缀
  7. nc65命令执行漏洞上传webshell学习笔记
  8. 谈谈如何通过linux系统RHCE考试
  9. chatGPT写的一篇java程序员职业规划
  10. 真无线蓝牙耳机排行榜:运动蓝牙耳机品牌推荐