App微信支付接入(二)—— hbuilder前端代码

本文详细介绍了在App中使用HBuilder进行微信支付的步骤,包括配置appid、参照文档进行统一下单操作,并重点讲解了如何对统一下单接口返回的参数进行二次签名,确保支付的安全性。此外,还提供了将签名结果和必要参数传递给HBuilder调起支付的方法。
摘要由CSDN通过智能技术生成

 

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值