Android微信支付:如何跑通微信支付官方Demo
来源:互联网 发布:怪物猎人x 网络联机 编辑:程序博客网 时间:2024/05/21 08:35
微信支付是一个坑,很久之前就听说了,现在我算是领教了,在这刚刚脱坑之际,有了今天这篇博客,至少能够帮助大家跑通官方demo。
跑通微信支付官方demo必备条件:
1.支付账号申请,在微信申请有支付权限的公众号信息,需要获得appid、app_secret、mch_id、pay_key。
注意:具有支付权限这个很关键,如果没有支付权限,那么微信返回-1都不知道是什么鬼。
2.支付账号的设置时,app支付的设置包名需要和项目的包名一致,同时需要设置打包签名发布app时的keystore,
3.接下来需要下载微信支付官方的demo:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1(截至发博客时,微信支付最新版本是v3.0)
4.在Eclipse或者AS中导入官方demo,然后修改几个地方:(1)把demo包名改成之前设置的包名,(2)把微信提供的默认appid等信息改成自己申请的数据信息(3)一定不要图省事,不要Runas运行,一定要export,并且用上传认证后的keystore签名打包,【坑啊,这个官方文档里面没说,demo里面没说,申请账号又不是我申请的,所以都不知道有上传keystore这回事】,可能部分人幸运的第一次Runas直接运行可以弹出支付界面,但是第二次或者以后都不行了,那可能是因为微信来不及检测你的keystore,所以算你幸运。要想百试百灵,还是要签名打包再测。
5.运行打包后的app,点击支付,一定要确保至少运行环境安装有微信.....................(哎,用模拟器的孩子伤不起)
关于微信支付demo,在官方说明里面真的是惜字如金,多说两句话都没有,像包名设置和打包发布后运行,之前根本不知道,瞎折腾费半天劲,哎。
网上有很多的关于微信支付的文章介绍,因为年代原因,有很多的介绍并不都是V3.0版本的,所以大家下载demo的时候最好去官方下载,然后看文章介绍时最好认清是否是最新版本,在旧版本的文章上面花费时间已经不值得了。
2015年10月9日17:21:46更新:
刚踩了一个坑:微信客户端登录状态过期(被其他终端登录挤下线)而又没有重新登录过,那么这个时候调用微信支付接口,会硬生生的返回一个-1,坑啊。后面想了想,同一个app,没改过什么,账号也一切正常,为什么这回又不行了? 我清理个缓存看看,哈哈,果然,调用后要求重新登录微信,一切又恢复了。后面试着重现这个问题的时候,想起来,我的微信账号在模拟器登录过,在手机也登录过,这下把模拟器的登录状态挤下线了,然后在模拟器里面调用支付接口,返回了-1,重新运行微信登录下就ok了。
(这个bug,作为一个调用者,还真心不能解决,微信你个坑货)
2015年10月21日15:51:33更新:
如果你的项目里面需要微信分享,使用了友盟分享的SDK,同时又需要微信支付,使用的微信支付SDK,在编译运行的时候,提示包名重复的错误,无法运行,那么可以告诉你,其实友盟分享SDK里面已经集成了微信支付需要的所有类,只保留友盟分享SDK,去除微信支付SDK即可,你尽可大胆的直接从友盟SDK中调用微信支付的相关API(前提是友盟SDK是最新版本的)。
- Android微信支付:如何跑通微信支付官方Demo
- Android App支付系列(一):微信支付接入详细指南(附官方支付demo)
- Android App支付系列(一):微信支付接入详细指南(附官方支付demo)
- Android App支付系列(一):微信支付接入详细指南(附官方支付demo)
- Android App支付系列(一):微信支付接入详细指南(附官方支付demo)
- Android App支付系列(一):微信支付接入详细指南(附官方支付demo)
- 微信支付官方demo修正版
- Android 微信支付demo
- 微信支付demo
- 微信支付demo
- 微信支付demo
- Android如何调用支付宝支付 微信支付
- Android 微信支付详解与Demo
- Android 微信支付详解与Demo
- Android 微信支付详解与Demo
- 微信支付 官方demo 遇到的小问题
- 微信支付接口官方demo存在的问题
- asp.net 微信支付源码demo 官方坑爹
- HDU 2082 母函数
- 第二十四篇:缩合练习代码---简单微博(自定义Cell)
- JavaScript高级程序设计之函数表达式之闭包之内存泄漏第7.2.3讲笔记
- 观影有感2
- 将long型数转化为流量格式大小的工具类
- Android微信支付:如何跑通微信支付官方Demo
- ocp-12
- ocp-13
- Genymotion安装软件失败;向Genymotion虚拟机拖入apk提示错误
- ocp-14
- Android和服务器长连接
- Python关键字总结
- 萌萌指数和 sum解题报告
- JAVA_SE基础——34.static修饰成员变量