在移动支付时代,微信支付已经成为人们生活中不可或缺的一部分。然而,在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小火箭账号-——正版苹果商店礼品卡、软件兑换码点击购买
谷歌锁区号/谷歌邮箱老号-购买商城-谷歌PLAY锁区账号/美区、日区,韩区,台区,新加坡谷歌账号等谷歌账号购买、代注册谷歌账号,代申诉解封———>点击购买
原文链接:H5呼起微信支付内置方法重定向获取用户code提交函数,转载请注明来源!