支付宝异步回调步骤+内网穿透++雷神商城项目
下面记录的步骤是基于雷神的谷粒商城项目,自己跟着该项目去做。项目大致方案是把商城业务分成数个微服务,访问所有微服务必须先过网关微服务;其次,利用nginx实现动静分离,也就是所有的请求都先进nginx,再转到网关。所以才有了下面的比较多的步骤。实际使用的话可以直接参考支付宝的demo程序就行。
-
获取内网穿透给自己的地址(这里用的https://zhexi.tech/)
客户端:装这家网站提供的应用程序就好
内网主机:这是自己业务配置的域名
内网端口:本项目是把要填写的内网主机的域名映射到了nginx服务器地址,80就是nginx的默认端口
外网域名:就是自己要得到的外网可以访问的域名信息。
-
配置支付宝支付成功的异步回调地址:(柔性事务-最大努力通知型方案)
private String notify_url = "http://**内网穿透给的地址**/payed/notify";
//注:/payed/notify是自己写对应该路径的业务逻辑
@RestController
public class OrderPayedListener {
@Autowired
OrderService orderService; //自己的业务相关
@Autowired
AlipayTemplate alipayTemplate; //抽取出的支付的模板
@PostMapping("/payed/notify") //处理该post请求
public String handleAlipayed(PayAsyncVo payAsyncVo, HttpServletRequest request) throws AlipayApiException, UnsupportedEncodingException {