事故
晚上9点左右忽然爆出线上支付宝wap拉不起来。
场景:h5页面点击确认支付,不能拉起支付,
但是直接拿到确认支付的请求,放在浏览器中可以拉起支付。
排查原因
先看了预支付请求对接部门的返回,正常的结果。
不知道原因,但是看到不能拉起支付的请求,是同时请求了支付两次,而且302跳转不正常。
显示异常
XMLHttpRequest cannot load ****支付url****
'control-allow-origin' header is present on the requested resource
查了下,是js跨域的异常,这时估计是什么原因导致浏览器302重定向失败了。也不知道为啥。
正常的支付流程
request response
1.前端请求支付链接请求
302响应,带着对接部门的支付链接
2.浏览器拿到302,请求对接部门支付链接
302响应,带着支付宝wap的支付链接
3.浏览器拿到302,请求支付宝wap的支付链接
返回支付页面
现在流程2就爆出跨域问题了。。
怀疑同时请求两次导致的,直接将支付链接扔到浏览器上,查看浏览器请求,一次支付请求,重定向正常,拉起支付。
点击确认支付,同时请求两次支付请求,重定向异常,显示跨域异常,不能拉起支付。
找到问题所在。
总结
现在还不知道什么原因导致的,同时请求相同的302浏览器重定向失败。
明明好好查下。