一般情况下,微信公众号的相关功能的测试都是可以在测试号上完成的。但是微信公众号支付却不在测试号的测试范围之内。
微信不允许在测试号进行公众号支付测试,所以导致了对支付功能进行修改后,无法在测试号上验证。
在搜索了各种解决方案之后,找到了对我们来说最方便的测试方法(虽然还是很麻烦,但终归能完成公众号支付测试)。
步骤:
1.首先获取生产环境公众号的AccessToken(这个凭证最长时效为2小时)。可以通过微信提供的appid和appsecret向微信请求接口获取。注:不要直接使用这种方式,因为会影响线上的AccessToken,从缓存或日志中获取就好。
2.将测试公众号服务端中相关配置替换为正式环境公众号的内容(id,appid,appsecret,token)。AccessToken即(1)中获得的固定值。
3.在生产环境公众号支付授权目录中,添加测试环境的地址。
4.在生产环境公众号页面中增加一个测试页面(要有发起支付功能),相关接口请求地址为测试公众号服务端。
5.启动测试环境服务端,打开正式公众号的新增的测试页面,就可以调起微信公众号支付了。
后续:
文章的内容是我刚才工作时写的,现在回过头来想想,也是受限于测试条件。如果有灰度环境,可以避免这么复杂的操作。