Android调用微信支付
由于官方资料太乱而且有些bug解释很不完善,又没有人工客服技术支持,网上的资料也是零零碎碎转来转去,没有博客就写篇日志记录一下,顺便喷一句,腾讯的东西真的太坑了,以下是整体流程和个人认为比较容易出错的地方的个人总结:
1.后台设置
    申请开发应用完成后,使用商户账号登录,可以创建APP,其中以下两项是必填的,而且不是随便填的
    
    (1)应用包名:填写Manifest中的package; 
    (2)应用签名:首先从官网下载GenSignature(一个android程序),运行改程序,在输入框中输入Manifest中的package名,点击"Get Sginature"生成的绿色字符串就是应用签名;
(下载GenSignature的地址:    https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1)
2. 下载微信官网的demo(也在下载GenSignature的地方),导入到eclipse,之后的操作直接改官方demo就行了
(1)修改Manifest:    更改<data>标签中的android:scheme属性,值为APP申请成功后返回的AppId值,如(wx89dadj29839asdj4)
(2)修改Constants(Java类):    该类工需要三个属性 (都是String,都是常量)
                                                ① APP_ID:与上一步陈述相同    (申请创建APP后微信官方派发)
                                                ② MCH_ID:商户号    10位数字(商户创建成功后微信官方派发)
                                                ③ API_KEY:API密钥    这个值是在商户平台设置的 相同即可(自定义)
3.在PayActivity做相应修改
    packageParams.add(new BasicNameValuePair("appid", Constants.APP_ID)); 
    packageParams.add(new BasicNameValuePair("mch_id", Constants.MCH_ID));

大致为以上三步,如果还有bug,可能是以下原因:
1.点击APP支付生成预支付订单返回"prepay_id=null",这个应该比较好解决 就是上述步骤没有设置对
2.如果只有第一次能够成功支付,之后均返回-1很可能是keystore问题,网上有种方式是清空微信缓存,确实清空一次能用一次,但是这种用户体验显然不合适,支付一次微信完全清空一次不太合适吧...
点击调起微信支付时,直接跳转到回调界面(WXPayEntryActivity)并返回-1,这里就是腾讯没有任何说明的地方了,可以尝试以下步骤:
    (1).Window->Preferences-> Android->Build->Custom debug keystore点击浏览,选择到下载demo的文件加下找到demo文件夹下的debug.keystore(默认是android文件夹下的debug.keystore需要更换),点击完成
    (2) 如果还是不行,右键项目名->Android Tools->Export Signed Application Package,选择项目,下一步->Use existing keystore,选择成demo文件夹下的debug.keystore,导出生成apk,之后再运行一边GenSignature程序输入Manifest中的包名,看生成的应用签名是不是变了?如果是可能就是keystore的问题,将生成的新的应用签名同步到微信官网上的“微信开放平台-管理中心-移动应用”-“开发信息”-"应用签名"即可
4.若在更改微信官方demo中参数后,出现签名错误的情况,可以尝试把提交的xml数据转换成ISO8859-1格式:
    return new String(xmlstring.getBytes(),"ISO8859-1"); 
    参考:http://blog.csdn.net/qiwenmingshiwo/article/details/41902551 ;
5. 如果更改notiy_url出现签名错误的话,可能是因为url中携带的键值对参数使用了"&"符号连接两个kv对,换成其它符号即可("="符号不影响,其它的没试过)

6.支付如果可以成功,那么根据腾讯安全性要求,应该把统一下单API、支付结果通知API和查询订单API这些设计到签名的过程放到服务器做,防止客户端被反编译
第一次写技术性文章 请各位大神多多包涵 

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 微信支付步骤

    以前自己写过微信支付,今天让我用h5调用微信支付,结果还浪费了点时间,虽然时间不长. 1.导入jar包 .微信提供的jar包 2.写你的微信支付的代码,其实如果参数都有了就一段代码: public v ...

  9. Android 微信支付详解与Demo

    最近公司弄Ionic框架,项目中需要微信支付,无奈,把我调过去弄,期间也是几近崩溃,好在皇天不负有心人,在看别人的文档,终于是在项目中集成了微信支付,下面作为一个小白的我,想要把我的经验分享给大家,希 ...

  10. android微信支付的实现

    微信支付虽说要300审核费,但是提交的材料相比较于支付宝还是挺少的! 使用微信支付的接口,首先在微信开放平台上注册,申请成为开发者(需要300元/年),然后微信会给你发送邮件内容为商户的登录账号和密码 ...

最新文章

  1. MLIR: 编译器基础架构重定义
  2. 交叉分解(Cross decomposition)、典型关联分析(Canonical Correlation Analysis,CCA)、偏最小二乘回归PLS
  3. element-UI中手动调用table排序
  4. Android应用apk的程序签名详解
  5. 多思计组原理虚拟实验室_先睹为快!汽院实验室组团来亮相_搜狐汽车
  6. Enhancement增强图形halcon算子,持续更新
  7. Android之SparseArray<E>详解
  8. easyui plugin——etreegrid:CRUD Treegrid
  9. php怎么发ddos包,解决服务器上通过PHP代码DDOS的方法
  10. 详细过程!SpreadJS助力企业轻松构建跨域提交、数据分析、协同编辑一体化云表单
  11. 发票勾选平台:验证口令失败--加密模块未打开(0x23) (错误代码:35)
  12. Python:利用xlwt设置Excel单元格格式
  13. 蓝桥杯 基础练习 圆的面积
  14. 情人节有哪些礼物可以送给男朋友的,情人节送礼推荐
  15. FFMEPG avs2 解码支持
  16. 自家小程序 如何实现定点跳转其他(比如:京东,天猫,淘宝)的小程序的具体店铺
  17. Idea使用gradle集成Lombok插件build时报找不到符号错误
  18. c语言中语句开始的标志是,第一个单片机程序(C语言编写)
  19. 2021年安全员-A证报名考试及安全员-A证考试资料
  20. 这个“安装 OS X Yosemite”应用程序副本不能验证

热门文章

  1. matlab处理波动的数据,波动数据时间序列的分析与处理
  2. 普林斯顿微积分读本07第五章--可导性
  3. awvs 与 xray联动
  4. FFmpeg解码H264视频流局部花屏解决方法
  5. python图像量化及采样处理
  6. 数据分析岗位需求分析报告
  7. matlab多目标遗传算法工具箱,运用MATLAB遗传算法工具箱求解非线性多目标优化问题,...
  8. Excel单页导出以及多sheet导出
  9. 集成电路模拟版图入门-版图基础学习笔记(六)
  10. 微型计算机控制程序题,微机控制技术》习题集