微信支付成功后回调函数还没执行完,用户就退出了页面,怎么解决??

发布于 2022-09-07 11:25:23 字数 535 浏览 23 评论 0

昨天公司项目上线突然发现很多用户反应自己的订单支付成功后依旧是待付款。
图片描述

然后我自己测试了一遍发现自己的微信支付调用很慢
图片描述

甚至出现网络问题
图片描述

用户量也没有很多就1百多人,并发应该不是这个问题
这里是我的代码不知道哪儿出了问题

clipboard.png

好像是因为很多人微信支付成功后那个加载太久就直接关了页面导致回调没有效果???如果耐心等待加载就不会出现这个问题,那这样子这么解决呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

魔法唧唧 2022-09-14 11:25:23

这个只是同步返回的结果,并不能真正的作为支付成功的验证。应当以异步通知的为准,来更改订单的状态。

clipboard.png

太阳哥哥 2022-09-14 11:25:23

支付回调有分同步回调和异步回调,

  1. 同步是指,用户支付完成后,继续当前业务逻辑
  2. 异步指,用户支付完成后,就离开了,这时候微信一定时间内多次请求你的接口,知道你的接口返回true,他就不会请求了,这个接口可以继续做支付成功后的逻辑

https://pay.weixin.qq.com/wik...

图片描述

帅哥哥的热头脑 2022-09-14 11:25:23

支付成功微信会推消息给你的后端啊,后端处理支付回调即可,我一般不在这个js里再发个请求通知后台成功的,这里直接跳转到成功页面,成功页面再去调微信接口判断是否是真成功进行页面展示。。https://pay.weixin.qq.com/wik...

別甾虛僞 2022-09-14 11:25:23

这不是微信的问题,应该是你们系统代码运行迟钝或网络问题。
我们系统也对接了微信支付,没有出现你这种问题。

星光不落少年眉 2022-09-14 11:25:23

不能以你这个成功的回调函数作为支付完成的标志,这个函数里面你要发请求给你的后端确认用户是否已经完成支付,完成就跳转支付成功后的页面,后端会把相应的订单状态改变的,你这边的数据通过接口请求自然也就变化了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文