调用 wx.requestPayment 支付成功但未执行 success 回调

250 天前
 dream4ever

公司最近一个小程序项目接入了微信支付,在用户使用过程中,发现调用 wx.requestPayment 这个接口完成支付之后,有很小的几率不会执行 success 回调。而我需要在 success 回调中执行一系列的后续处理,这个回调不触发的话,就没法做后续的操作。

上网搜了一下,有人也遇到了同样的情况,想问一下对于这种情况,怎么样处理比较妥当?

1154 次点击
所在节点    程序员
11 条回复
liuidetmks
250 天前
别依赖回调吧,轮询最靠谱
Laobai
250 天前
建议后端做轮询
coolcoffee
250 天前
这个可能就是为什么很多支付页面都会放一个让用户确认“已支付” / “未支付” 两个按钮吧。
dream4ever
250 天前
@coolcoffee 哈哈,是的,有些事情自己遇到了才会明白别人为什么这么做。
dream4ever
250 天前
@liuidetmks
@Laobai OK ,我研究研究。
linauror
250 天前
猜测是付款完成后,直接关闭了页面,没有点确定按钮
dream4ever
250 天前
@linauror 嗯,我这边测试了一下,是会有这种情况。
hlwjia
250 天前
@coolcoffee 这是懒的做法,其实应该是一个支付确认等待页面,等你后端收到微信的 hook 后,这个等待页面再自动跳转。

@dream4ever 微信支付的文档里明确写了(我记得)这个 success 回调是不可靠的,不能依赖这个来判断是否支付成功;准信还是得等微信给你发的那个 hook
ae86
250 天前
居然还有这种问题,我一直没遇到过
dream4ever
250 天前
@hlwjia 一直看的都是 https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_4.shtmlhttps://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html 这两篇文档,的确没看到你说的回调不可靠的问题,还是看到后面这篇文档底下的社区讨论,才知道有这种情况。
hlwjia
249 天前
@dream4ever 我很久没写这支付了,可能已经变了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/971466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX