微信小程序拉起支付

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') {
                   // 失败后需要处理的业务
                }
            },
        })
    },
相关推荐
2501_9159214320 小时前
穿越HTTPS迷雾:Wireshark中的TLS抓包秘诀与文件合并方法
网络协议·ios·小程序·https·uni-app·wireshark·iphone
PinTrust SSL证书20 小时前
Sectigo(Comodo)企业型OV通配符SSL
网络·网络协议·网络安全·小程序·https·ssl
头发还在的女程序员21 小时前
家政系统源码,上门家政源码,支持小程序、APP、H5和公众号,可直接搭建使用
小程序·生活·家政
小徐_233321 小时前
uni-app 组件库 Wot UI 2.0 发布了,我们带来了这些改变!
前端·微信小程序·uni-app
黄华SJ520it21 小时前
天美仕商城平台开发代码
小程序·软件需求·系统开发
Greg_Zhong1 天前
微信小程序中实现自定义颜色选择器(简陋版对比精致版)
微信小程序·自定义颜色选择器面板
小离a_a1 天前
uniapp小程序添加路由全局限制,增加路由白名单,登录后接口跳转参数正常传递
小程序·uni-app
Giggle12181 天前
家政维修保洁预约上门服务小程序软件开发解析
大数据·小程序·产品运营·个人开发·内容运营
宋拾壹1 天前
php网站小程序接入抖音团购核销
android·小程序·php
杰建云1671 天前
2026年第三方平台制作微信小程序多少钱?
微信小程序·小程序·小程序制作