V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dream4ever
V2EX  ›  程序员

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

  •  
  •   dream4ever · 235 天前 · 1132 次点击
    这是一个创建于 235 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    11 条回复    2023-09-07 05:59:23 +08:00
    liuidetmks
        1
    liuidetmks  
       235 天前
    别依赖回调吧,轮询最靠谱
    Laobai
        2
    Laobai  
       235 天前
    建议后端做轮询
    coolcoffee
        3
    coolcoffee  
       235 天前
    这个可能就是为什么很多支付页面都会放一个让用户确认“已支付” / “未支付” 两个按钮吧。
    dream4ever
        4
    dream4ever  
    OP
       235 天前
    @coolcoffee 哈哈,是的,有些事情自己遇到了才会明白别人为什么这么做。
    dream4ever
        5
    dream4ever  
    OP
       235 天前
    @liuidetmks
    @Laobai OK ,我研究研究。
    linauror
        6
    linauror  
       235 天前
    猜测是付款完成后,直接关闭了页面,没有点确定按钮
    dream4ever
        7
    dream4ever  
    OP
       235 天前
    @linauror 嗯,我这边测试了一下,是会有这种情况。
    hlwjia
        8
    hlwjia  
       235 天前
    @coolcoffee 这是懒的做法,其实应该是一个支付确认等待页面,等你后端收到微信的 hook 后,这个等待页面再自动跳转。

    @dream4ever 微信支付的文档里明确写了(我记得)这个 success 回调是不可靠的,不能依赖这个来判断是否支付成功;准信还是得等微信给你发的那个 hook
    ae86
        9
    ae86  
       235 天前
    居然还有这种问题,我一直没遇到过
    dream4ever
        10
    dream4ever  
    OP
       234 天前 via iPhone
    @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
        11
    hlwjia  
       234 天前
    @dream4ever 我很久没写这支付了,可能已经变了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3015 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:13 · PVG 22:13 · LAX 07:13 · JFK 10:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.