支付宝即时到账的同步通知和异步通知怎么选择
支付宝即时到账的同步通知和异步通知怎么选择?
意思就是,我究竟选择哪个去判断成功然后更新数据库呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
支付宝即时到账的同步通知和异步通知怎么选择?
意思就是,我究竟选择哪个去判断成功然后更新数据库呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
楼上说的对。
1同步通知是给用户看的
2异步通知是给服务器看的
why?同步通知方便用户查看是否充值成功,如果这里就判断并更新数据库,迟早会出事,首先网路慢或者用户关闭太早,造成用户充值成功但是数据库没有更新,同时这里更新数据库容易被伪造,数据不真实
异步通知一般都采用自动通知,并且有证书校验,不受前端影响,伪造数据难度高
所以你懂得
同步通知:仅给前端展示成功或失败
异步通知:后端处理支付成功或失败时的业务逻辑,比如修改订单订单状态等等
支付宝文档和SDK也有明确写明这两者的区别和使用范例的
这个不是让你如何选择, 而是全部都要去做的
同步通知: 用于用户在支付宝页面付款完毕后自动跳转回你自己的网址, 你根据他的参数告诉用户已经支付成功, 然后你再更新你自己订单表的状态为已支付.
异步通知: 其实是双保险机制, 如果同步通知后没有跳转到你的网址, 可能用户关了, 可能网速慢, 即无法触发你更新订单状态为已支付的controller, 这时候异步通知就有作用了, 不过你要判断一下, 如果订单已经变为已支付, 则不必再更新一次了, 只返回给支付宝success即可, 否则他会一直异步通知你, 这个看支付宝文档吧, 频率是忘了
一般是选择异步
同上.
另补充: 还可以通过查询订单知道状态.