基本概念

包名值得是你APP的包,在创建工程时候设置的,需要在微信支付平台上面设置。

签名指的是你生成APK时候所用的签名文件的md5,去掉:全部小写,需要在微信支付平台上面设置。

调试阶段,签名文件可以使用调试用的debug.keystore,签名可以直接在eclipse上面查看,或者用工具查看 ,安装打开输入包名即可查看。

发布的时候一定需要在微信支付平台上面设置成发布用的签名值。

官方的Demo里面的内容并不是全是必须的,甚至只需要有libammsdk.jar就够了,AndroidManifest.xml也不用配置。

AndroidManifest.xml的配置和WXPayEntryActivity.java只是为了能够得到支付回调,可以先不用去管,先调试能不能发起支付。

把libammsdk.jar拷贝到你项目的libs下,并添加jar引用。

代码里发起支付请求:

IWXAPI api = WXAPIFactory.createWXAPI(this, Values.WXPAYAPPID);

api.registerApp(Values.WXPAYAPPID); // 注册APPID,这句很重要,不然不会发起调用

PayReq req = new PayReq();

req.appId = wxPay.appid;// 也就是Values.WXPAYAPPID,如果二者不一致的话是没法发起支付的。

req.partnerId = json.getString("partnerid");

req.prepayId = json.getString("prepayid");

req.nonceStr = json.getString("noncestr");

req.timeStamp = json.getString("timestamp");

req.packageValue = json.getString("package");

req.sign = json.getString("sign");

//req.extData = "";// "app data"; // optional

boolean r = api.sendReq(req);

if(!r) {

Toast.makeText(this,"打开微信支付失败!",Toast.LENGTH_SHORT).show();

}

上面的代码中相关的预下单ID、签名、时间戳等都是由服务端返回了,服务端在生成这些值的时候需要注意二次签名的问题。

正常的话微信客户端就会打开支付页面了,那么就可以再着手回调的事情了。

把WXPayEntryActivity.java拷贝到你项目包下的wxapi文件夹中,比如你的包名是com.xx.shop,那么就放到com.xx.shop.wxapi下面。

设置AndroidManifest.xml,让其支持回调:

android:name=".wxapi.WXPayEntryActivity"

android:screenOrientation="portrait" android:exported="true"

android:launchMode="singleTop">

/>

WXPayEntryActivity.java不需要布局文件的,或者可以根据你的需要进行布局。

为了调试方便,把WXPayEntryActivity.java中onResp的代码改为:

@Override

public void onResp(BaseResp resp) {

Log.d("onPayFinish", "onPayFinish, errCode = " + resp.errCode);

if(resp.errCode==0){

Toast.makeText(this,"支付成功!",Toast.LENGTH_SHORT).show();

}else if(resp.errCode==-1){

Toast.makeText(this,"支付失败!",Toast.LENGTH_SHORT).show();

}else if(resp.errCode==-2){

Toast.makeText(this,"取消支付!",Toast.LENGTH_SHORT).show();

}

}

不管能不能支付成功,如果onResp的代码能够被自动执行,那么说明你的AndroidManifest.xml里的配置是对了。

如果你对你的各项参数都很有把稳了(比如你们iOS组的都能支付了,就你Android的还在坑了),那么看一下api.registerApp(Values.WXPAYAPPID);有没有,没错我就坑死在这里了,这种情况下第一次(很偶尔)的能够打开支付界面一下,后面都不行了。

总结

微信为啥不能给点详细的错误代码或者说明之类,就给一个-1,天知道是什么意思,真让人不爽。以上就是Android开发微信APP支付功能要点的全部内容,希望本文的内容对大家开发Android能有所帮助。

android微信支付都需要什么意思,Android开发微信APP支付功能的要点小结相关推荐

  1. SpringBoot微信各应用统一账号信息登录开发 + 微信公众测试号开发

    SpringBoot实现微信各应用统一账号信息登录开发 + 微信公众测试号开发 上一期我们讲了微信公众号的授权登录开发以及网站应用的二维码登录开发,这期我们来讲一下微信公众号和网站应用等其他微信应用的 ...

  2. php开发微信商户平台支付宝支付,不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...

    我们知道,开发微信支付需要申请服务号并且需要一系列的资料才可以开通.怪麻烦的,现在我们可以用第三方开放的免签约微信支付接口,支付宝接口和QQ钱包接口,实现实时到帐的微信支付开发. 我们只需要在第三方的 ...

  3. Java开发微信公众号之整合weixin-java-tools框架开发微信公众号

    微信开发者接入文档 : https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319 微信公众平台测试账号申请: http ...

  4. Java版开发原生App支付

    个人资源与分享网站:http://xiaocaoshare.com/ 微信开发者平台网址:https://open.weixin.qq.com/ 微信支付开发前要先去开发者平台创建移动应用,获取APP ...

  5. mpvue 微信小程序_使用Vue.js开发微信小程序:开源框架mpvue解析

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 成全 责编 | 阿秃 转自 | 美团技术团队企业博客 前言 mpvue是一款使用Vue.js开发微信小程序的前端框架.使用此框架,开 ...

  6. 微信快速开发框架(二) -- 快速开发微信公众平台框架---简介

    年底了,比较忙,大家都在展望未来,对于30+的我来说,发展和稳定是个难以取舍的问题.最近发了些求职信,鸟无音讯,没事做,做点帮助大家的东西吧. 之前做了个微信公众平台的查询系统,在开发中,发觉了一些微 ...

  7. java 微信 摇一摇红包_如何开发微信摇一摇红包,摇一摇红包有什么作用

    春节将至,春晚的抽奖被支付宝摇一摇红包给包了,而微信也不敢示弱,前天也开始预热了摇一摇红包功能:从整体上来看,微信摇一摇红包不管是对于企业商家来说是一个吸引消费者的好的方式,而对于消费者也是喜欢摇一摇 ...

  8. springboot 微信太阳码_WxJava基于Spring Boot开发微信公众号手机注册码

    WxJava基于Spring Boot开发微信公众号手机注册码 Szx • 2019 年 05 月 18 日 第一步先下载官方Demo https://github.com/binarywang/we ...

  9. android用户界面组件都是放置在,Android开发工程师第十章 节 用户界面高级组件.ppt...

    Android开发工程师第十章 节 用户界面高级组件.ppt 电子相册的设计与实现 4.图片放大与缩小显示的实现 在触摸ImageSwitcher中显示的图片后,全屏显示该图片,要全屏显示该图片,只要 ...

最新文章

  1. 关系抽取论文整理,核方法、远程监督的重点都在这里
  2. 飓风“桑迪”路径图的制作
  3. pfSense book之 Open***站点到站点连接示例(共享密钥)
  4. 天眼查sign 算法破解
  5. centos7下安全访问远程服务器
  6. ML numpy、pandas、matplotlib的使用
  7. python3.2安装tornado
  8. java懒加载设计模式_java设计模式——单例模式
  9. linux下查看某个文件或目录占用磁盘空间的大小
  10. 巨人网络305亿并购海外棋牌类游戏公司审核遭暂停
  11. JavaFX Dialogs (官方支持)
  12. spring5.0学习笔记5
  13. 记一次代码被公司电脑加密后,编译不通过
  14. android libpng16,Android原生(Native)C开发之六:libpng移植笔记
  15. 关于java的国内外论坛地址分享
  16. 快递管理系统(面向对象+MVC+集合+IO)
  17. Java 中Lambda表达式的使用详解
  18. python编码器用什么_用于ceasar-ciph的python构建编码器
  19. 第5章 运算符、表达式和语句
  20. JVM 重点知识点总结

热门文章

  1. WPS怎么外链网页上的实时数据_嘿!你们通常怎么保存网页?如何实现书签在多个浏览器共享呢?...
  2. docker 最新版本升级
  3. 金山打字通2008下载-金山打字通2008正式版-金山打字通2008完整版
  4. linux之基础shell脚本编程1 基础变量赋值
  5. 如何加快Mac启动时间?Mac启动缓慢问题如何解决?
  6. 贵州5G最新规划:3年投资200亿元,建成3.2万个5G基站
  7. Simple Yet Effective Graph Contrastive Learning for Recommendation
  8. windows vscode安装boost后undefined reference to `ontop_fcontext‘
  9. OSI(开放系统互联基本参考模型)七层结构及TCP/IP协议栈
  10. android spinner自定义样式,android自定义Spinner下拉菜单(下拉列表框)样式