废话不多时 在plus 支付参数都正确的时候 但一直就是支付失败,在error方法打印出来 是 code: 62000,这个错误其实就是 你plus 参数的 channels传递错误造成的,要先调用一下 plus.payment.getChannels 这个方法 把 开发商返回的 信息 赋值给 channels 就可以了,这样要注意 plus.payment.getChannels 返回的结果是一个数组,所以要做一下区分,然后在调用一下 plus.payment.request 就可以唤起支付了
let channels = null;
plus.payment.getChannels(
function(s) {
console.log(JSON.stringify(s),); //[{"id":"alipay","description":"支付宝","serviceReady":true},{"id":"wxpay","description":"微信","serviceReady":true}]
for (let i = 0, len = s.length; i < len; i++) {
let item = s[i];
// 这里的话 就是 根据你的项目要调用那个第三方支付 比如微信 支付宝 等等 然后赋值给 channels
// channels 是一个对象 不是字符串
if('这里是你要调用第三方的判断'){
channels = item;
}
}
/* 这里调起支付 */
plus.payment.request(
channels,
result, // 这里是订单数据
function() {
that.$dialog.toast({
mes: "支付操作成功"
});
},
function(e) {
console.log(JSON.stringify(e));
that.$dialog.toast({
mes: "支付失败"
});
}
);
},
function(e) {
that.$dialog.toast({
mes: "获取支付通道列表失败"
});
}
);