支付宝仅在扫码付款的情况下,时不时会出现页面无法跳转到成功支付的界面,但是扫码支付后,支付宝沙箱账单显示交易成功,并且我上服务端查询了下notify页面的日志,验签是成功的。所以问题是,我支付成功,为什么有时候页面无法跳转到交易成功的页面。
是啊,为什么呢,要不抽签杀个程序员祭天?
你都已经排查到Notify页面的日志了,说明支付宝是无辜的,那就只能自己找找哪个环节有八哥了。
说到BUG,我调试了不少了,因为是网站自己的DEMO,我修改的地方很少,所以基本就是在几个重要的代码点输出日志,查看错误信息,首先,你说支付宝是无辜的,我进行支付宝支付成功的时候,支付宝页面会进行三次地址的跳转,第一次显示倒计时五秒,第一次显示交易成功进入商户系统,第三次才调用我写的return_url进入我的页面,但是页面没有跳转是连第一次地址跳转都不存在,而第一次跳转的页面是支付宝那边响应的,不是我本地的代码,所以我之前问题才会问是不是支付宝方面的问题。
第二点,我看了大量网上的流程与我调试的流程结果有个地方是不符合的,就是支付宝在我支付成功后,应该是先访问了我的notify界面,然后才是return_url界面,这个先后顺序,我是根据服务端tomcat的日志里边判断的,而网上的流程图是这样的。
如果说有可能出现BUG的地方,我觉得只可能在这一处了,否则就是支付宝那方面的问题,你觉得我的分析,是否正确。
我感觉淘宝系的沙箱很多都是很长时间不更新的。。。
我看到支付宝十天前还更新了他的SDK,应该不会出这个叉子吧,而且主要是我电脑端输入账号密码,要么跟我说网络异常,要么就正常跳转,但是用手机支付宝沙箱扫码支付,电脑端有时候可以正常跳转到交易成功界面,但是无法跳转的几率太高了,所以才想着是不是哪边出了问题。我无法理解的是,支付宝支付成功后要进行三次地址的跳转,如果第一次地址跳转,那么后边的一定跳转成功,但是第一次不跳转,就不存在后边跳转页面的情况。
初步判定为延迟