微信小程序拉起支付

1:获取用户的open_id

复制代码
 getOpenid(options, authorization) {
    const that = this
    let app_id = ' '  //这里是小程序的app_id
    wx.login({
      success: function (res) {
      // 调用后端接口获取
        http.getReq(********+ `/?code=${res.code}&app_id=${app_id}`, function (res) {
          console.log(res.data.openid) // 获取到的openid
        })
      }
    })
  },

2:获取用户的手机号
获取用户手机号链接

3:获取小程序的支付信息(调用后端接口)

复制代码
// 这段可以在H5内实现,也可以在微信小程序内实现
 appletPay() {
        const that = this
        appletPayApi({
          mchno: ' ',//这里是支付的商户号
          open_id: ' ', // 小程序用户的open_id
          way_code: "WX_LITE",
          total_amount: Number(that.total_amount),//支付金额
          order_num: 'yszcz' + new Date().getTime(),//订单号
          phone_number: that.phone_number, //手机号
          subject:"充值",
          payment_type:0
        }).then(res => {
          if (res.message === 'success') {
            console.log(res)
            const payData = JSON.parse(res.data.payData)
            const param = {
              appId: payData.appId,
              nonceStr: payData.nonceStr,
              package: payData.package.split('=')[1],
              paySign: payData.paySign,
              signType: payData.signType,
              timeStamp: payData.timeStamp,
              payDetailId: res.data.payOrderId,
              callbackUrl: 'https://fatsha.eloadspider.com/#/recharge?is_pay=success',
              failBackUrl: 'https://fatsha.eloadspider.com/#/recharge?is_pay=error',
              full_payment: Number(that.total_amount),
              open_id: that.open_id,
              phone_number: that.phone_number,
              pay_order_id: res.data.payOrderId,
            }
            console.log(param)
            const obj = {
              payParam: param,
              tokenModel: 'yszcz'
            }
            // 这里是微信小程序的
            this.wxPay(payParam, tokenModel) // 唤起微信支付
          } else {
            instance('获取支付信息失败')
          }
        })
      },

// 微信小程序内的唤起微信支付窗口

复制代码
 // 唤起微信支付窗口
    wxPay(payParam, tokenModel) {
        let that = this
        wx.requestPayment({
            'timeStamp': payParam.timeStamp,
            'nonceStr': payParam.nonceStr,
            'package': 'prepay_id=' + payParam.package,
            'signType': payParam.signType,//'MD5',
            'paySign': payParam.paySign,
            'success': function (res) {
                // 成功后需要处理的业务
                
            },
            'fail': function (res) {
                // 失败后需要处理的业务
            },
            'complete': function (res) {
                if (res.errMsg == 'requestPayment:fail cancel') {
                   // 失败后需要处理的业务
                }
            },
        })
    },
相关推荐
小羊Yveesss5 小时前
2026年微信小程序搭建一般需要多长时间?不同方案周期和延期点
微信小程序·小程序
禾高网络7 小时前
互联网医院|AI 互联网医院成品开发系统
java·大数据·人工智能·小程序
小羊Yveesss8 小时前
2026年微信小程序搭建算什么费用?年费、设计费、开发费和维护费
微信小程序·小程序
2501_9159184114 小时前
PerfDog 太贵?iOS 性能监控工具的功能对比与选择
android·ios·小程序·https·uni-app·iphone·webview
码农客栈1 天前
小程序学习(二十六)之“订单详情”
小程序
weixin_440058311 天前
2026知识付费小程序:年费全包零抽成,录播题库全功能覆盖
小程序·apache·小程序开发
小羊Yveesss1 天前
2026年微信小程序后端怎么搭建?后台、数据、接口和运维怎么选
运维·微信小程序·小程序
小皮虾1 天前
小程序首页性能优化实战:从 4 秒到 1.8 秒
前端·微信小程序
HackTwoHub1 天前
ARL灯塔重构版:支持APP/小程序/WEB资产同步扫描
人工智能·安全·web安全·网络安全·小程序·重构·自动化
投票竞赛1 天前
避雷按单场活动扣费平台,2026 在线投票测评不限频次新建投票评选活动
小程序