首先确定开发小程序支付要域名,要https请求,之后才能继续,也正是这两个前置要求引发了支付后无法回调的问题。

分享下排查思路

  1. 由于项目采用的是微服务,所以所有请求都要先经过网关,由网关做统一分发,此时先把回调接口路径加入白名单,无需鉴权,方便微信端调用。
  2. 微信端支付异步回调通知只能支持外网能够访问的80端口地址,而https的默认端口是443,一般线上请求都会通过nginx做路由,然后再到网关,所以此时得添加个基于80端口的监听,同时再跳转到https的配置,这样给微信端的回调地址就类似于http://xxxx.com/api/xxxx了,nginx配置可参考nginx设置http请求自动跳转https
  3. 接下来不管是通过浏览器还是postman等,都先访问下线上回调接口,看下是不是能够正常调用到,一般不返回404就好。
  4. 通过前面几步铺垫,做到了线上也能够成功调用到回调接口,那么微信端也自然可以调用到,微信小程序支付回调就通了。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐