uni.requestPayment({
provider: 'alipay',
orderInfo: order_data, //微信、支付宝订单数据
success: function(res_alipay) {
//成功。。
console.log(JSON.stringify(res_alipay));
console.log(res_alipay);
console.log(res_alipay.rawdata);
// 取对象中的rawdata
let rawData = JSON.parse(res_alipay.rawdata)
// 取出result字符串
let resultStr = rawData.result
// 分号分割,取第0个
let resultList = resultStr.split(';')
// 将取出来的第0个字符串的最后一位花括号去掉
let finalRes = resultList[0].substring(0, resultList[0].length - 1)
// 正常转义
let finalObject = JSON.parse(finalRes)
// 取出订单号
let trade_no = finalObject.alipay_trade_app_pay_response.trade_no
//输出
console.log(trade_no);
//后台修改订单状态
// mythis.to_payment();
},
fail: function(err) {
console.log('fail:' + JSON.stringify(err));
}
});
switch (code) {
case 'alipay':
this.$api.pay(data, res => {
if (res.status) {
uni.requestPayment({
provider: 'alipay',
tradeNO: res.data.trade_no,
success: function(e) {
if (e.errMsg === 'requestPayment:ok') {
_this.$common.successToShow(res.msg, () => {
_this.$common.redirectTo('/pages/goods/payment/result?id=' + res.data.payment_id);
});
}
}
});
} else {
this.$common.errorToShow(res.msg);
}
})
break
case 'balancepay':
//用户余额支付
this.$api.pay(data, res => {
if (res.status) {
this.$common.redirectTo('/pages/goods/payment/result?id=' + res.data.payment_id);
} else {
this.$common.errorToShow(res.msg);
}
})
break;
case 'offline':
//线下支付
this.$common.modelShow('线下支付说明', '请联系客服进行线下支付', () => {}, false, '取消', '确定')
break;
}