1、首先说一下我们在开发微信支付接口的时候遇到最多和最疑惑的问题那就是明明 appid、商户号、API密钥 都对照了好几遍确实是和自己的一样,并且也没有在Log日志中出现签名錯误等信息却始终调不起微信支付,或是直接回到支付结果后的界面并提示 “微信支付结果:null;code=-1”这就是微信支付中的一个深坑之处(為什么说这是深坑之处呢?会在下面特别说明)
2、下面就教大家如何跳出这个深坑,首先先让图来说话:
3、接下来进行微信支付的接入本文档重在实现调起微信支付,其中的 sign签名如何生成不进行详细讲解可以自行上网百度。
一、首先去申请开通微信支付功能(亦可从網上找到申请开通的方法)开通后会收到下图所示的一封邮件。
二、从微信支付商户平台下载微信支付的Demo
四、将微信支付Demo的.java文件放到我們自己的项目中**这里有一个关键点必须要注意,否则会造成调起微信支付后无法回到支付结果界面 那就是WXPayEntryActivity.java文件必须放到你工程的 包名.wxapi丅,假设你的包名是 com.exemplary.demo
六、有些开发者以为到这里就完成了然后运行项目进行测试,可得到的结果是调不起微信支付的API
注意:这一步是坑点之一。在进行测试时我们必须先生成一个程序的keystore文件然后再按下面的步骤进行才可以顺利地调起微信支付。(这一步在微信支付的開发文档中并没有进行说明)如图所示生成一个有效的keystore文件的步骤:
然后将生成的apk文件***到我们的测试机上,如果我们想通过运行项目把程序***到我们的测试机上也能调起微信支付则需按下图所示操作:
七、将APP ***到我们的测试机中后,再从 微信支付 | 商户平台中下載应用签名工具将其***到测试机上,下面是下载地址
然后按照微信支付中的开发文档走:
八、有的开发者会在这一步走完后就立即测試支付结果是没能调起微信支付API,这个原因有可能是设置并保存了应用签名后微信那边的服务器没能那么快地做出处理在等待了30秒后洅进行测试则就可以成功调起微信支付了。