评论

requestpayment的success回调不点完成按钮不执行的问题

requestpayment的success()回调仅用来显示提示信息和页面跳转,不点完成按钮不执行并不影响业务数据的处理,真正的支付成功回调是在回调函数中完成的

requestpayment的success()回调仅用来显示提示信息和页面跳转,不点完成按钮不执行并不影响业务数据的处理,真正的支付成功回调是在回调函数中完成的,以下是云开发接入微信支付的实操代码:

        //拉起微信支付
    let payData = {
      "functionName": payConf.payCallBack, //支付成功调用的回调函数,主逻辑在这里
      "envId": payConf.envId,
      "subMchId": payConf.mchid,
      nonceStr,
      "body": app.globalData.siteName,
      "outTradeNo": order._id,
      "totalFee": order.total_fee,
      "spbillCreateIp""127.0.0.1"//这个就这样写,可以通过
      "tradeType""JSAPI",
    }
    console.log('payData:', payData)
    wx.cloud.callFunction({
      name'wxPay',
      data: {
        payData,
      },
      successres => {
        const payment = res.result.payment
        console.log('payment:', payment)
        wx.requestPayment({
          ...payment,
          success(res) {
            //支付成功后,开发工具中并不会执行success(),因为开发工具无法感知手机的“完成”按钮操作!!
            //在手机上测试完全正确!            
            console.error('支付成功', res)
            setTimeout(function () {
              wx.redirectTo({
                url: app.globalData.urlPayok + '?act=1',
              })
            }, 200)
          },
          fail(err) {
            //用户关闭支付窗口,不用跳转页面
            console.error('支付失败', err)
          },
        })
      },
      fail(err) => {
        console.error('拉起微信支付失败', err)
        wx.navigateTo({
          url: app.globalData.urlPayok + '?act=3',
        })
      }
    })

还有一点测试时需要注意的是:

支付成功后,开发工具中并不会执行success(),因为开发工具无法感知手机的”完成“按钮的操作。

最后一次编辑于  2020-09-29  
点赞 2
收藏
评论

4 个评论

  • COOL
    COOL
    2021-01-31

    如果不执行success,那么我后面改订单的支付完成状态的函数应该放在什么地方???

    2021-01-31
    赞同 1
    回复 6
    • 易
      2021-02-04
      payConf.payCallBack,放在这里,这是一个自己配置的云函数。
      2021-02-04
      回复
    • COOL
      COOL
      2021-02-04回复
      那么在云函数中怎么跳转页面呢?
      2021-02-04
      1
      回复
    • 易
      2021-02-15
      云函数是在服务器云端执行,和小程序端无关联的。
      2021-02-15
      1
      回复
    • 易
      2021-02-15回复COOL
      https://developers.weixin.qq.com/community/develop/article/doc/000a66f8f9c8109717ca1abde51813
      2021-02-15
      1
      回复
    • 易
      2021-02-15
      你去看下我的文章,上面是链接
      2021-02-15
      回复
    查看更多(1)
  • 稍微有点酷
    稍微有点酷
    2021-05-20

    支付完成不点击成功,直接退出小程序,是没有任何回调的

    2021-05-20
    赞同
    回复 1
    • superbaman
      superbaman
      2023-04-24
      我也碰到了,您是怎么解决这个问题的
      2023-04-24
      回复
  • 左左木
    左左木
    2020-12-22

    +1


    2020-12-22
    赞同
    回复
  • 左左木
    左左木
    2020-12-22

    +1

    2020-12-22
    赞同
    回复
登录 后发表内容