1、获取支付通道
2、发起支付请求——从服务器请求支付订单
3、请求支付操作
var ERROR_OK = 'S002';
mui.init()
/*选择微信还是支付宝支付*/
var channel = null;
var channel1, channel2;
// 1. 获取支付通道
function plusReady() {
// 获取支付通道
plus.payment.getChannels(function (channels) {
channel1 = channels[0];
channel2 = channels[1];
}, function (e) {
alert("获取支付通道失败:" + e.message);
});
}
document.addEventListener('plusready', plusReady, false);
var ALIPAYSERVER = ur + 'rest/appUserController/open-vip-ali';//调用统一下单接口
var WXPAYSERVER = ur + 'rest/appUserController/open-vip-wechat';
// 2. 发起支付请求
/**
* @augments: 'alipay','wxpay'
*/
function pay(id) {
// 从服务器请求支付订单
var PAYSERVER = '';
if (id == 'alipay') {
PAYSERVER = ALIPAYSERVER;
channel = channel1; //
alipy();
} else if (id == 'wxpay') {
PAYSERVER = WXPAYSERVER;
channel = channel2;
wxpay();//微信支付
} else {
plus.nativeUI.alert("", null, "");
return;
}
// 支付宝
function alipy() {
$.ajax({
url: PAYSERVER,//下单接口
headers: {
"X-Token": localStorage.token
},
type: 'POST',
dataType: 'json',
data: {
"month": "1", // 开通月数
}
})
.done(function (res) {
//接口成功执行pays()
if (res.meta.code == ERROR_OK) {
pays(res.data);
}
})
}
function wxpay() {
$.ajax({
url: PAYSERVER,
headers: {
"X-Token": localStorage.token
},
type: 'POST',
dataType: 'json',
data: {
"month": "1"
}
})
.done(function (data) {
// 调用成功
var data = data.data;
pays(data);
})
}
}
function pays(data) {
// 支付通道 /支付订单信息/支付通道成功
plus.payment.request(channel, data, function (result) {
plus.nativeUI.alert("支付成功!", function () {
mui.fire(plus.webview.getWebviewById('mine.html'), 'refresh');
back();
});
}, function (error) {
plus.nativeUI.alert("订单未支付,请重试");
});
}
/*点击确认支付判断是微信还是支付宝*/
$('.sure-pay').on('tap', function () {
if ($('.way1>.quan').hasClass('addred') == false && $('.way2>.quan').hasClass('addred') == false) {
mui.toast('请选择支付方式');
} else if ($('.way1>.quan').hasClass('addred') == true) {
pay('alipay')
}
if ($('.way2>.quan').hasClass('addred') == true) {
pay('wxpay');
}
})
支付错误码
http://ask.dcloud.net.cn/article/286
(本博主只是一个初学的菜鸟--Anguler,希望能够帮助到需要的人,如果有不正确的地方希望多多包涵和欢迎随时提出来,一起进步)