收藏
回答

如何在微信支付完成后更新页面?

在小程序首页,有充值按钮,调出微信支付,完成支付后,如何能够刷新首页?

//微信支付公用方法
const orderPay = function (openid, body, totalFee{
  const outTradeNo = "lgl-" + new Date().getTime()
  //建立订单数据到数据库
  const db = wx.cloud.database()
  db.collection('myVipPay').add({
    data: {
      body: body, //订单名称
      outTradeNo: outTradeNo, //订单编号
      totalFee: totalFee, //支付金额,单位:分
      payStatusfalse//支付情况
      payTimenew Date(), //支付时间
    },
    successfunction (res{
      //调用支付云函数
      wx.cloud.callFunction({
        name"pay",
        data: {
          body: body,
          outTradeNo: outTradeNo,
          totalFee: totalFee,
          nonceStr: openid,
        },
        successres => {
          //console.log(res)
          const payment = res.result.payment // payment包含了支付需要的所有参数   
          wx.requestPayment({
            ...payment,
            success(res) {
              //console.log('支付成功', res)
              return res
              //that.onLoad()
            },
            fail(err) {
              //console.error('支付失败', err)
              return err
            }
          })
        },
        failconsole.error
      })
    }
  })
}


module.exports.orderPay=orderPay
回答关注问题邀请回答
收藏

3 个回答

  • 跨商通
    跨商通
    2023-06-08
    orderPay = function (openid, body, totalFee, that)
    
    

    从外面把that传进去,that.onLoad()就会生效了。

    2023-06-08
    有用 1
    回复 1
    • 康辉
      康辉
      2023-06-08
      感谢感谢,解决了!
      2023-06-08
      回复
  • 八九
    八九
    2023-06-08

    成功回调里面,刷新

    2023-06-08
    有用
    回复
  • showms
    showms
    2023-06-08

    在requestPayment的success函数里面调初始化页面的方法就可以了呀

    2023-06-08
    有用
    回复
登录 后发表内容