1、点击调用微信支付无法跳转到结果界面。

 解决办法:确定WXPayEntryActivity 在wxapi包名下,而wxapi放到你的根包下。微信才可以将值返回到这个activity中。如图:




2、微信返回-1。

解析:返回-1的问题多种多样,以下列举我遇到的问题:

<1> 申请应用时填写的包名与签名与你使用的应用的包名签名不一致,这需要你仔细查看,尤其是签名问题,一定要使用你申请时所填写签名用的key,否则是不对的。(在这里卡了两次)

<2>未注册app,这个问题很好解决,只要在调用微信之前注册一下就可以,微信官方例子里有如何注册。其中appid是你申请应用成功后,微信给你生成的id。

<3>sign参数不对,(在这里卡了两天),传递给微信的参数中有一项参数为sign,这个sign是用于校验信息用的,不是下单成功后微信给你的sign,而是自己动态生成 的。根据微信的参数规范将要传递给微信的参数排列好生成32位大写的md5加密字符串。生成规则见官方地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=4_3

<4>参数未能正确匹配,这个问题完全是开发者自己粗心所致,仔细查看各参数与后台所传参数是否保持一致。

<5>appid不一致,调用微信时所用的appid,以及传递给微信参数中的appid值应该是要保持一致,即下单的appid必须是调用微信时使用的appid

<6>针对返回-1的情况,我也曾清除过微信的数据,然而并没有什么用!(清过三次,微信数据、通信记录什么的都没了。)

以上就是开发微信支付遇到的问题,总的来说微信并没有将返回值-1的情况进行细分,因此无形中增加了开发的难度,但一项项排查总是可以成功的。谨以此记。