一般情况下,微信公众号的相关功能的测试都是可以在测试号上完成的。但是微信公众号支付却不在测试号的测试范围之内。
微信不允许在测试号进行公众号支付测试,所以导致了我们项目对支付进行了改动之后,导致无法在测试号上测试。
在搜索了各种解决方案之后,找到了一个我认为对我们来说最方便的测试方式(虽然还是很麻烦,但终归能完成公众号支付测试)。
步骤:
1.首先我们要去获取到正式公众号的AccessToken,这个凭证最长时效为2小时。获取方式是通过微信提供的appid和appsecret向微信请求获取。但最好不要直接使用这种方式,因为会影响线上的AccessToken。从现网环境的日志中复制就好(运气好能坚持1个多小时,足够测试用了)。
2.将测试环境的公众号服务端的配置文件中的id,appid,appsecret,token等都换成现网环境公众号配置。同时将调用的AccessToken写死为(1)中获取的现网AccessToken。
3.在公众号支付授权目录中,添加测试环境的地址。
4.在现网的公众号页面中增加一个测试页面(当然是要有发起支付请求能力的),请求地址的是测试环境的公众号服务端(前后端分离,所以做起来不是很困难)
5.启动测试环境服务端,打开正式公众号的新增的测试页面,就可以调起微信公众号支付了。