Android集成微信支付遇到的坑

在集成微信支付过程中,遇到了一个大坑,反正当时挺抓狂的。

appid , partnerid等参数都没问题,对照了好几遍,但是就是调不出来微信支付的页面,或是直接回到微信支付结果回调页面并提示”微信支付结果:null;code=-1”,试了多次都不行,不知道问题出在哪里了,抓狂啊简直,,,

后来查询资料,才知道想要调出微信支付页面必须要使用正式的keystore,这个文件可以通过android studio生成,具体怎么生成这里就不介绍了。

生成后,需要在我们自己的android studio中配置一下,这样,生成的apk文件就使用了keystore,这样就可以在测试机上调起微信支付页面了。

具体配置如下所示:

在项目上右键 –> Open Module Settings,如下图:
Android集成微信支付遇到的坑

Android集成微信支付遇到的坑

Android集成微信支付遇到的坑

在Signing中的debug 和 release中配置keystore文件路径等信息,配置完成之后就会在build.gradle中生成如图所示的配置代码:

Android集成微信支付遇到的坑

Android集成微信支付遇到的坑

ok,到这里就可以了,可以成功调起微信支付页面。效果如下:

Android集成微信支付遇到的坑

至此,这个坑也就给填上了。

注:

最后说一点,可以对比keystore中的sha1值 和 我们的apk使用的sha1值,验证我们的apk是否使用了正确的keystore文件。

首先,通过命令行:keytool -list -v -keystore xxx.keystore 可以查看到keystore中的sha1值。

然后,在代码中通过方法获取到应用使用的sha1值。

两者相比,若一致,则说明应用使用了正确的keystore。

获取sha1值的工具类