收藏
回答

wx.requestPayment 支付成功了,但如果用户不点完成不进入回调?

小程序调用wx.requestPayment,最后弹起支付成功的提示窗口,需要用户点击了该窗口下面的“完成”按钮才会进入回调函数。

但有时候用户可能不去点击这个完成,而是直接回到手机HOME页面,这样就一直没有支付成功的回调,一直没法执行下单操作。

请问这个问题该如何解决?

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

5 个回答

  • Memory
    Memory
    2023-03-27

    不要依赖前端去处理支付结果,以异步支付结果通知或者主动查单结果为准

    2023-03-27
    有用 1
    回复
  • 骆
    2023-07-14

    个人愚见:如果后端是自己开发的,可以在requestPayment的complete回调中,调用一个自己的接口向后端查询是否支付成功,后端返回支付成功后在进行相应的业务逻辑。

    2023-07-14
    有用
    回复
  • 云淡风清 hello world
    云淡风清 hello world
    发表于移动端
    2023-04-03
    这个问题已经解决,因为小程序没有自己的后台服务,所以之前都是依赖前端获取支付状态,存在这个问题。 现在通过云函数来处理,省去了后台的一些麻烦,也达到了想要的效果
    2023-04-03
    有用
    回复
  • 跨商通
    跨商通
    2023-03-27

    1、拉起支付前,把订单号存入缓存;如果用户点击“完成”,在回调里清除该缓存;

    如果用户没有点击“完成”,那下一次肯定是小程序重新冷启动;

    2、在首页的onLoad里,读出缓存里的该订单号,查询订单,按查询结果进入下一步订单操作,清除该缓存;

    2023-03-27
    有用
    回复
  • 青寒
    青寒
    2023-03-27

    下单接口里有notify_url异步通知。

    2023-03-27
    有用
    回复
登录 后发表内容