4、App接入微信支付,使用hbuilder中的支付
(1)支付配置参考http://ask.dcloud.net.cn/article/71 ,appid填写上面申请的移动应用的APPID
(2)在触发支付事件中添加代码
// 获取支付通道
plus.payment.getChannels(function(channels) {
for (var i in channels) {
var channel = channels[i];
if (channel.id == 'qhpay' || channel.id == 'qihoo' || channel.id == 'alipay') { // 过滤掉不支持的支付通道
continue;
}
pays[channel.id] = channel;//pays是全局变量,其定义var pays = {};
}
pay('wxpay');//自定义方法
}, function(e) {
alert('获取支付通道失败:' + e.message);
return false;
});
//调用统一下单接口及调起支付接口的前端代码
function pay(id){
// 从服务器请求支付订单
var payUrl = ...;//根据具体情况,自定义的支付接口地址
if(id != 'wxpay'){
plus.nativeUI.alert("不支持此支付通道!",null,"支付");
return;
}
plus.nativeUI.showWaiting();
var param = {};
param.bill_id = bill_id ;
... //创建支付单所需要的各参数
app.ajax(payUrl, param, function(data){
app.closeWaiting();
if(data.s == "ok") {
var info = data.data;
var param1 = {
appid: info.appid,
noncestr: info.nonce_str,
package: info.package,
partnerid: info.mch_id,
prepayid: info.prepay_id,
timestamp: info.timestamp,
sign: data.sign
};
plus.payment.request(pays[id], param1, function(result){
wxpayR