收藏
回答

小程序微信支付成功后点击完成问题


小程序微信支付的接口为

wx.requestPayment({  timeStamp: '',  nonceStr: '',  package: '',  signType: 'MD5',  paySign: '',
  success(res) { },
  fail(res) { }
})

用户在支付成功后,在支付的页面下方,点击绿色的完成按钮,才能触发success方法,否则就取不到用户支付成功的数据,这个官方是怎么解决的?

最后一次编辑于  2019-03-12
回答关注问题邀请回答
收藏

3 个回答

  • 超
    2019-11-20

    我发一下我的解决办法,方便大家少走弯路,支付的接口中,用户其实不用点击完成也是可以的。我们从服务端,我使用php写的,用php去请求一个借口,根据一个

    nonceStr

    还是哪一个23d3243cw24dce这样的字符串,去调用它,可以直接获取到用户有没有支付成功。8月之前做的,我特地去找了一下代码好像是

    https://api.mch.weixin.qq.com/pay/orderquery

    这个,具体的去查一下文档吧,细节记得不是很清楚了

    2019-11-20
    有用 1
    回复 1
    • 伴我行
      伴我行
      2021-04-10
      后端的notify_url是可以解决,那我还要云开发干嘛呢。万一有的人不会后端php,只会云开发呢
      2021-04-10
      回复
  • 911
    911
    2019-10-12

    你弄好了吗 我也是遇见这个问题

    2019-10-12
    有用
    回复
  • 微信支付技术助手7
    微信支付技术助手7
    2019-03-12

    您好,支付后,出现支付页面的同时,就已经能收到用户支付成功的数据,需要开发者组织好代码逻辑,与完成按钮无关。

    2019-03-12
    有用
    回复 4
    • 未来已来
      未来已来
      2019-07-30
      从哪儿收到用户支付成功的数据?
      2019-07-30
      回复
    • 王年强
      王年强
      2019-11-18
      我也遇到了这个问题,请教现在有解决方法吗
      2019-11-18
      回复
    • Baofeng
      Baofeng
      2020-02-17
      出现支付页面的同时,就已经能收到用户支付成功的数据,从哪里收到?
      2020-02-17
      回复
    • 土爷
      土爷
      2022-06-30
      不止这么简单,因为有的人需要在支付成功以后做其他操作,比如清空cookie.这个时候,如果用户一直不点完成,就没有办法清空cookie,而如果这个时候用户点了返回,那么这个逻辑就无法完成,当然,这个时候我们可以用web socket来解决问题,但是这样的解决方案非常的麻烦
      2022-06-30
      回复
登录 后发表内容