本人现在和朋友在做一个网站,我们用到了支付宝即时到账。我个人认为如果要进行验证用户通过支付宝成功支付,我们需要比较“同步”和“异步”的paramenters。 问题就是,如果“同步”或“异步” 因为某一种原因失败了,怎么办?
我能想到的笨办法:
- 等待“异步”通知
- 调用支付宝的查询接口
请求各位大神指点,多谢了
调用支付宝的查询接口,这是肯定要的,因为那通知服务(异步/同步)确实不可靠。
1.notify异步通知是交易状态改变就会触发的,return同步通知是用户完成支付后触发的。
2.如果是开发时发现两者有失败的情况,最好是先检查下传参,或者点击商家页面的在线技术支持,请支付宝的技术人员帮忙查看日志,分析失败的原因。
3.友情提示,在线技术支持的聊天界面在你输入的时候他们也是可以看得见你输入的内容的哟!(一般人我不告诉他)
不管收到的是notify还是return 的支付成功响应,都可以认为是支付成功完成,不必确认2个都成功
notify的是支付完成立即通知的,若支付宝没收到反馈值,有间隔发送一定次数,
return的是支付完成后自动跳转(也可用户手动点击跳转),用户在跳转前关闭浏览器就收不到这个通知了,
支付宝异步通知是分时间的。印象中是如下顺序:
- 支付成功,立即通知
- 1失败后,2分钟后再通知
- 2失败后,5分钟后再通知
- 3失败后,2小时候再通知
- 4失败后,12小时后再通知
失败包括服务器没有返回success或者连接服务器超时