支付结果

msb_prod
ch 3 years ago
parent b09fe7ff15
commit 2825d80ea1

@ -2,7 +2,7 @@
* @Author: ch * @Author: ch
* @Date: 2022-07-08 11:46:30 * @Date: 2022-07-08 11:46:30
* @LastEditors: ch * @LastEditors: ch
* @LastEditTime: 2022-07-08 18:21:00 * @LastEditTime: 2022-07-09 15:43:47
* @Description: file content * @Description: file content
--> -->
<template> <template>
@ -44,7 +44,8 @@ const ENV = process.env;
value : 'alipay' value : 'alipay'
} }
], ],
orderInfo : {} orderInfo : {},
payOrderNo : this.$route.query.payOrderNo
} }
}, },
onLoad() { onLoad() {
@ -53,11 +54,14 @@ const ENV = process.env;
methods: { methods: {
getOrderInfo (){ getOrderInfo (){
uni.request({ uni.request({
url: `${process.env.VUE_APP_BASE_URL}/payCenter/payCenter/prepayOrder/prepay000010`, url: `${process.env.VUE_APP_BASE_URL}/payCenter/payCenter/prepayOrder/${this.payOrderNo}`,
success:(res)=> { success:(res)=> {
let data = res.data.data; let data = res.data.data;
if(res.data.code === 'SUCCESS'){ if(res.data.code === 'SUCCESS'){
this.orderInfo = data this.orderInfo = data
}else{
alert(data.message);
uni.navigateBack();
} }
}, },
fail(){ fail(){
@ -86,7 +90,7 @@ const ENV = process.env;
success:(res)=>{ success:(res)=>{
let data = res.data.data; let data = res.data.data;
if(res.data.code === 'SUCCESS'){ if(res.data.code === 'SUCCESS'){
window.location.href = data.payDataInfo.h5Url; window.location.replace(data.payDataInfo.h5Url);
} }
} }
@ -105,7 +109,7 @@ const ENV = process.env;
success:(res)=>{ success:(res)=>{
let data = res.data.data; let data = res.data.data;
if(res.data.code === 'SUCCESS'){ if(res.data.code === 'SUCCESS'){
window.location.href = data.payDataInfo.payUrl; window.location.replace(data.payDataInfo.payUrl);
} }
} }

@ -2,31 +2,70 @@
* @Author: ch * @Author: ch
* @Date: 2022-07-08 15:30:29 * @Date: 2022-07-08 15:30:29
* @LastEditors: ch * @LastEditors: ch
* @LastEditTime: 2022-07-08 17:00:04 * @LastEditTime: 2022-07-09 15:39:22
* @Description: file content * @Description: file content
--> -->
<template> <template>
<view> <view>
<template v-if="status === 'await'"> <template v-if="status === 'await'">
<view class="icon icon__await"></view> <view class="icon icon__await"></view>
<view class="title">支付成功</view> <view class="title">支付结果查询中</view>
</template> </template>
<template v-else-if="status === 'fail'"> <template v-else-if="status === 'fail'">
<view class="icon icon__fail"></view> <view class="icon icon__fail"></view>
<view class="title">支付成功</view> <view class="title">{{errorMsg}}</view>
</template> </template>
<template v-else> <template v-else>
<view class="icon icon__success"></view> <view class="icon icon__success"></view>
<view class="title">支付成功</view> <view class="title">支付成功</view>
</template> </template>
<view class="btn">返回商</view> <view class="btn" @click="back"></view>
</view> </view>
</template> </template>
<script> <script>
const ENV = process.env;
export default { export default {
data(){ data(){
return { return {
status : 'success' status : 'await',
payOrderNo : this.$route.query.payOrderNo,
payStatus : {
await : [0,1],
success : [3],
fail : [2,4,5,6]
},
errorMsg : ''
}
},
mounted(){
this.getOrderInfo();
},
methods:{
getOrderInfo(){
uni.request({
url : `${ENV.VUE_APP_BASE_URL}/payCenter/payCenter/payResult/${this.payOrderNo}`,
method : 'GET',
success : (res) =>{
let data = res.data.data;
if(res.data.code === 'SUCCESS'){
if(this.payStatus.success.includes(data.payStatus)){
this.status = 'success';
}else if(this.payStatus.await.includes(data.payStatus)){
this.status = 'await';
setTimeout(this.getOrderInfo,3000);
}else{
this.status = 'fail';
this.errorMsg = data.payStatusText
}
}else{
this.status = 'fail';
this.errorMsg = '支付结果出错,请联系商家';
}
}
})
},
back(){
uni.navigateBack();
} }
} }
} }

Loading…
Cancel
Save