>  기사  >  웹 프론트엔드  >  유니앱이 결제 기능을 구현하는 방법

유니앱이 결제 기능을 구현하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-12-14 14:28:1010921검색

Uniapp은 결제 기능을 구현합니다. 먼저 사용 가능한 결제 환경을 얻은 다음 사용자에게 Alipay 결제 환경이 있는지 확인한 다음 백엔드 인터페이스에서 관련 데이터를 가져와 최종적으로 백엔드 반환을 받습니다. 데이터를 전송하고 관련 결제 기능을 호출합니다.

유니앱이 결제 기능을 구현하는 방법

이 튜토리얼의 운영 환경: 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'})
}
}
});
},

Alipay의 주문 정보 가져오기 인터페이스

유니앱이 결제 기능을 구현하는 방법

WeChat의 인터페이스 주문정보

유니앱이 결제 기능을 구현하는 방법

유니앱이 결제 기능을 구현하는 방법

관련 무료 학습 권장 사항: php 프로그래밍(동영상)

위 내용은 유니앱이 결제 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.