uniapp实现支付功能的方法:首先获取可用的支付环境;然后判断用户是否有支付宝支付环境;接着再从后端接口获取相关数据配置到orderinfo里;最后拿到后端返回数据后调用相关支付函数。
本教程操作环境:windows7系统、uni-app2.5.1版本、thinkpad t480电脑。
推荐(免费):uni-app开发教程
uniapp实现支付功能的方法:
//支付宝支付zfbpay(){uni.getprovider({ //获取可用的支付环境service: 'payment',success: res=>{if (~res.provider.indexof('alipay')) { //先判断用户是否有支付宝支付环境uni.showloading({title: '正在调起支付宝支付'})let params={ //给后端传什么参数看你的后端需要什么money:this.moneycount,ispc:3}uni.request({ //再从后端接口获取相关数据配置到orderinfo里,这个接口由后端配置好了,返回结果见下图1-支付宝url: `${this.$baseurl}/api-order/amstc/userrechargeaccountbyalipay`,method: 'post',header: {"token":this.usertoken,"content-type":"application/x-www-form-urlencoded"},data: params,success: res => {if(res.data.code==200){let payinfo=res.data.data //拿到后端返回数据后调用下面支付函数uni.requestpayment({provider: 'alipay',orderinfo: payinfo, //支付宝订单数据(string类型)success: res=>{uni.hideloading();uni.showtoast({title: '支付成功',icon:'none'})},fail:err=>{uni.hideloading();uni.showtoast({title: '支付失败,请稍后再试',icon:'none'})}});}},fail: () => {uni.hideloading();uni.showtoast({title: '服务器开小差了呢,请您稍后再试',icon:'none'})}});}else{uni.showtoast({title: '获取支付宝通道失败,请检查您的支付宝是否正常启用',icon:'none'})}}});},//微信支付wxpay(){uni.getprovider({service: 'payment',success: res=>{if (~res.provider.indexof('wxpay')) { //先判断用户是否有微信支付环境(是否安装了微信app)uni.showloading({title: '正在调起微信支付'})let params={money:this.moneycount,bs:4}uni.request({ //再从后端接口获取相关数据配置到orderinfo里,这个接口由后端配置好了,返回结果见下图2-微信url: `${this.$baseurl}/api-order/amstc/userrechargeaccountbywx`,method: 'post',header: {"token":this.usertoken,"content-type":"application/x-www-form-urlencoded"},data: params,success: res => {if(res.data.code==200){let resobj=json.parse(res.data.data)let payinfo={appid: resobj.appid,noncestr: resobj.nonce_str,package:"sign=wxpay",partnerid: resobj.mch_id,prepayid: resobj.prepay_id,timestamp: resobj.time_stamp,sign: resobj.sign,}uni.requestpayment({provider: 'wxpay',orderinfo: payinfo, //微信订单数据(object类型)success: res=>{uni.hideloading(); uni.showtoast({title: '支付成功',icon:'none'})},fail:err=>{uni.hideloading(); uni.showtoast({title: '支付失败,请稍后再试',icon:'none'})}});}},fail: () => {uni.hideloading();uni.showtoast({title: '服务器开小差了呢,请您稍后再试',icon:'none'})}});}else{uni.showtoast({title: '获取微信通道失败,请检查您的微信是否正常启用',icon:'none'})}}});},
支付宝获取orderinfo的接口
微信获取orderinfo的接口
相关免费学习推荐:php编程(视频)
以上就是uniapp如何实现支付功能的详细内容。