首页 » ios付费应用 » H5呼起微信支付内置方法重定向获取用户code提交函数

H5呼起微信支付内置方法重定向获取用户code提交函数

 

在移动支付时代,微信支付已经成为人们生活中不可或缺的一部分。然而,在H5页面中呼起微信支付存在着两种不同的场景。那么,如何在不同的场景下正确使用呼起微信支付呢?

本文将分享关于H5呼起微信支付的两种场景,并提供一些经验技巧,帮助读者正确应用这些技巧,以便在移动支付过程中更加顺利地完成交易。

在进行移动支付时,我们经常会遇到一些问题,比如支付失败或未支付情况下停留在支付订单页面。这时候,我们需要再次发起订单请求来完成交易。那么,在这种情况下,如何正确处理支付成功页面和订单页面的展示呢?

1. 配置公众号设置:为了能够内部呼起微信支付,在公众号设置中需要配置一个网页授权域名,并注意不要在域名前加。

2. 配置支付授权:后端涉及到支付时,需要在公众平台的微信支付-开发设置-支付授权目录中进行配置。

3. 判断浏览器情况:在前端代码中,可以通过判断浏览器内核来进行不同的处理,特别是判断是否在微信内部浏览器中。

4. 其他浏览器呼起微信支付:对于其他浏览器苹果香港id游戏怎么使用微信支付,可以通过请求微信支付的接口获取一个链接,并跳转到该链接来完成支付过程。

5. 微信内部浏览器呼起:对于微信内部浏览器,需要前端搭桥呼起浏览器内置方法,并通过重定向获取用户code来完成支付过程。

举个例子来说,当用户在H5页面点击支付按钮时,首先判断用户所使用的浏览器内核。如果是微信内部浏览器,则通过前端搭桥呼起浏览器内置方法,并重定向获取用户code。然后将code传给后端,后端再根据code请求微信支付接口获取支付链接,并将该链接返回给前端进行跳转。如果是其他浏览器,则直接请求微信支付接口获取支付链接,并将该链接返回给前端进行跳转。

init(){
    this.wechatFlag = this.isWeChat();//本人项目提交时需要判断区分,所以就定义了全局
    if(this.wechatFlag){
        //当前在微信内部 do someThing
        // 比方判断是否有授权code
          let code = this.getQueryObject().code;
          if (code == null || code == '') {
            this.redirectPage();//重定向获取code
          } else {
            this.code = code;
          }
    }else{
        //外部浏览器 do someThing
        //项目里,我设置的支付订单页和成功页在同一个页面
        //所以外部浏览器付费与否都回到这个页面
        //所以我这要获取成功后的订单参数
        if (this.$route.query.orderNumber) {//外部浏览器跳转重定向
            //从微信里重定向回来
            this.orderId = this.$route.query.orderNumber;//订单参数
            //this.getMyOrder();//请求订单数据
          }
    }
}

- 在配置公众号设置时,注意不要在域名前加苹果香港id游戏怎么使用微信支付,否则会导致配置失败。

- 在配置支付授权时,确保正确填写支付授权目录,以免支付过程中出现问题。

isWeChat(){
      //判断是否为微信内部登录
      var ua = window.navigator.userAgent.toLowerCase();
      //console.log(ua);
      if (ua.match(/MicroMessenger/i) == 'micromessenger') {
        return true;//是微信内部
      } else {
        return false;
      }
    }
}

- 在判断浏览器情况时,要考虑到各种可能的情况,并做好相应的处理。

- 在使用前端搭桥呼起浏览器内置方法时,需要注意兼容性和安全性。

getQueryObject(url){////可当成一个公用方法
  url = url == null ? window.location.href : url;
  let search = url.substring(url.lastIndexOf("?") + 1);
  let obj = {};
  let reg = /([^?&=]+)=([^?&=]*)/g;
  search.replace(reg, function (rs, $1, $2) {
    let name = decodeURIComponent($1);
    let val = decodeURIComponent($2);
    val = String(val);
    obj[name] = val;
    return rs;
  });
  return obj;
}

在我的项目中,我遇到了H5呼起微信支付的需求,并成功地应用了以上提到的技巧。通过正确配置公众号设置和支付授权,并根据浏览器情况进行不同的处理,我能够在不同场景下顺利地完成移动支付。

无论是在电商平台上购物还是在线缴费,移动支付已经成为我们日常生活中必不可少的一部分。通过学习和应用H5呼起微信支付的技巧,我们可以更加顺利地完成移动支付过程,并享受到更加便捷和快速的支付体验。

通过应用以上提到的技巧,我在我的项目中成功地实现了H5呼起微信支付,并且在支付过程中没有遇到任何问题。用户可以在支付失败或未支付情况下停留在支付订单页面,并且可以再次发起订单请求来完成交易,大大提高了用户体验和交易成功率。

  async submitOrder(){
  this.isDisabledSubmitBtn = true //防止用户点击多次
    let params= {};//项目支付相关的参数
    try {
          let {
            retBody,
            retMsg
          } = await requestPay (params)//请求接口
          if (retStatus === 'success') {//成功判断依据
            if (retBody) {//直接跳转链接
              window.location.href = retBody;
            }
          } else {
            this.$notify(retMsg || '提交订单失败')
            this.isDisabledSubmitBtn = false //防止用户点击多次
          }
        } catch (error) {
          this.error = true
          this.$notify('提交订单失败' || error)
          this.isDisabledSubmitBtn = false //防止用户点击多次
    }
  }
}
跳转回来之后就在会重新create了,获取与后台约定参数重新查询订单数据即可。

H5呼起微信支付是移动支付过程中不可或缺的一部分,正确应用相关技巧可以帮助我们更加顺利地完成移动支付,并提高用户体验和交易成功率。因此,我鼓励大家学习并实践这些技巧,以便在移动支付过程中取得更好的结果。

如果您对本文有任何疑问或想法,请在评论区留言,与我们进行互动和分享您的经验。同时,如果您觉得本文对您有帮助,请分享给更多人,让更多人受益于这些经验技巧。

国外苹果ID/美日韩台、新加坡、香港等——韩国区已过年龄认证17+ 19+ 的苹果id游戏应用下载——独享美区ID小火箭账号-——正版苹果商店礼品卡、软件兑换码点击购买

日本区苹果商店_国外苹果ID/美日韩台新加坡等

谷歌锁区号/谷歌邮箱老号-购买商城-谷歌PLAY锁区账号/美区、日区,韩区,台区,新加坡谷歌账号等谷歌账号购买、代注册谷歌账号,代申诉解封———>点击购买

原文链接:H5呼起微信支付内置方法重定向获取用户code提交函数,转载请注明来源!

0