收藏
回答

在开发者工具中,微信支付用手机付款后,先点击关闭模拟器中的收银台,进入fail回调,真机会这样吗?

如题,在进行微信支付的开发,使用wx.requestPayment()。

在开发者工具中,调起收银台,使用手机扫码付款后,没有点击完成,而是先点击关闭模拟器中的收银台,结果进入了fail回调,拿到的信息是{errMsg: "requestPayment:fail cancel"}。

请问真机会存在这样的情况吗,支付成功,却进入fail回调?

开始为了给用户尽快相应,除了向后台查询,还在fail回调中设置了处理支付失败的业务逻辑。这就导致原本应该成功的支付结果变成了失败。

如果去掉的话,需要等待后台查询时限结束后再处理支付失败的业务逻辑。如此给用户的响应会不太及时。有什么好方法吗?

回答关注问题邀请回答
收藏

2 个回答

  • Memory
    Memory
    2021-08-26

    主动查单或者根据异步支付结果通知来处理,官方文档已经给出说明了,不能依赖这个来作为支付成功判断

    2021-08-26
    有用 1
    回复 17
    • 芽频
      芽频
      2021-08-26
      不好意思,我的问题不是关于判断支付成功,而是关于判断支付失败。你有相应答案吗?
      2021-08-26
      回复
    • Memory
      Memory
      2021-08-26回复芽频
      判断失败一样可以根据支付结果和查单来解决
      2021-08-26
      回复
    • 芽频
      芽频
      2021-08-26
      像上文提到的,查询支付结果一直是NOTPAY状态,没办法判断,小程序端,现在是根据限制查询时间,超时判断为失败。这样用户关闭收银台后无法及时得到支付失败相应反馈。而是需要几分钟后查单结束才处理失败逻辑。
      2021-08-26
      回复
    • Memory
      Memory
      2021-08-26回复芽频
      真机又不存在有两个支付窗口,你纠结这个干嘛?
      2021-08-26
      回复
    • 芽频
      芽频
      2021-08-26回复Memory
      所以可以在fail回调里处理支付失败的业务逻辑?
      2021-08-26
      回复
    查看更多(12)
  • จุ๊บ
    จุ๊บ
    2021-08-26

    真机调试 下自己不就知道怎么走嘛?

    实际应用会出来两个支付窗体嘛?

    2021-08-26
    有用
    回复 7
    • Memory
      Memory
      2021-08-26
      开发者工具测试的时候,会出现一个二维码让你用微信扫码付款
      2021-08-26
      回复
    • 芽频
      芽频
      2021-08-26
      暂时没有合适可用的真机环境,所以想问一下大家有无经验。
      2021-08-26
      回复
    • จุ๊บ
      จุ๊บ
      2021-08-26回复芽频
      你都可以扫开发工具的码进行支付了,怎么没有真机环境?
      2021-08-26
      回复
    • 芽频
      芽频
      2021-08-26回复จุ๊บ
      测试环境,手机端无法运行。
      2021-08-26
      回复
    • จุ๊บ
      จุ๊บ
      2021-08-26回复芽频
      其实你大可不必纠结这个问题,无论支付成功还是失败,都会走complete。再说了 支付结果 并不需要前端处理业务逻辑,顶多就是个页面跳转
      2021-08-26
      回复
    查看更多(2)
登录 后发表内容