Android-调用微信支付失败的情况

时间:2025-04-26 20:44:01

最近工作中,开发的App版本需要加入微信支付、支付宝支付、QQ钱包支付功能。一般情况下,我们支付功能都是封装好的支付模块,支付方面一般不会有重大的更新。但是我却遇到了:

微信支付一直调不起微信客户端,SDK一直返回-1

微信支付返回-1的情况

结合我之前的开发经验,个人觉得可能有以下几种情况:

  1. 微信客户端校验了应用的签名,签名不一致的情况会返回-1
  2. 手机端微信做了分身或者双开处理;
  3. 我们开发使用的签名和平台的应用签名不一致,工程师和产品经理之间没有同步;
  4. 我们开发使用的包名和平台中记录的包名不一致;
  5. 产品经理在微信支付开放平台登记的签名MD5值,没有去掉冒号和小写。

最后问题的发现,是由于原因5导致的。主要出问题的微信手机客户端版本是8.0,我猜测是之前没有校验,因为我们之前使用微信7.0手机客户端支付成功并没有返回-1的情况。

这是日常Android开发中遇到的一个小小的bug,希望对同样是Android开发的小伙伴有帮助。