步骤:
1、获取用户授权
2、获取tradeNo
3、发起支付
// a.3 支付宝支付
// #ifdef MP-ALIPAY
_payByAli(payItemObj,paySource) {
let that = this;
// 下单开始start
// 1 获取用户授权
my.getAuthCode({
scopes: 'auth_user',
success: auth => {
let authCode=auth.authCode;
// 2 获取tradeNo
let params={
uin:common.getGlobalUserInfo().id,
payType:1,
paySource:paySource,
total:payItemObj.receivable*100,
orderId:payItemObj.id,
auth_code:authCode,
grant_type:'authorization_code',
};
request.setRequest('/payment/order',params,true).then(res => {
if (res.data.status === 1) {
if(!res.data.data.tradeNo){
request.setErrorMessage('没有获取到tradeNo');
return;
}
let tradeNo=res.data.data.tradeNo;
// 3 发起支付
my.tradePay({
tradeNO: tradeNo,
success: (result) => {
if (result.resultCode != 9000) {
request.setErrorMessage(result.memo);
} else {
// 跳转到订单详情页面
my.alert({
content: '支付成功',
buttonText: '确定',
success: () => {
// 充值支付后跳转到我的页面
if(paySource==1){
my.navigateTo({
url:'/pages/consume/consume'
})
}else{
console.log("支付成功");
}
}
});
}
},
fail: (err) => {
request.setErrorMessage('支付异常');
}
});
} else if (res.data.status < 1) {
//<=0:人工返回的错误信息
request.setErrorMessage(res.data.msg);
} else {
request.setErrorMessage();
}
});
},
fail: err => {
request.setErrorMessage('获取用户授权失败');
}
});
// 下单结束end
},
// #endif