公司动态

微信内调起h5支付例子

微信内调起h5支付例子 公司动态 广力云

微信支付已经成为了我们日常生活中非常常用的一种支付方式,其方便快捷的特点备受用户欢迎。但是,在某些场景下,我们需要使用移动端网页进行支付,这时就需要使用到微信的H5支付功能了。本文将介绍在微信内如何调起H5支付的实现过程。

在使用微信内调起H5支付时,首先需要开通微信商户,并填写相关的信息,包括H5支付域名、售卖产品/使用场景的描述、所售卖产品对应的官方网站域名或详情页网址等。同时,还需要提交一份域名证书和域名授权书。

在微信商户平台中,进入【产品中心->产品大全->我的产品->H5支付】可以查看H5支付的开通状态。如果还没有开通,点击申请开通页面,填写相关的信息即可。审核通过后,就可以进行支付了。

在Web端开发时,需要在请求的url后面添加以下参数:

openid=xxxxxx //用户的openid

total_fee=100 //支付金额(单位:分)

out_trade_no=xxxx //商户订单号

mch_id=xxxx //商户号

notify_url=xxxxxxx //回调地址

trade_type=MWEB //标记使用H5支付

其中,openid是用户的唯一标识,total_fee是支付金额,out_trade_no是商户订单号,mch_id是商户号,notify_url是回调地址,trade_type标记使用H5支付。

接着,在后端需要进行一些处理:

1.组装请求参数并签名

2.发送请求

3.处理回调结果

具体实现方式可参考微信支付官方文档。

在前端,我们可以使用JSAPI的方式调起微信支付功能。首先,需要在页面中引入微信支付的JS库:

然后,在页面中,我们需要先进行微信的授权,并获取用户的openid:

wx.config({

debug: false,

appId: '',

timestamp: '',

nonceStr: '',

signature: '',

jsApiList: []

});

其中,appId是服务号的AppID,timestamp是当前的时间戳,nonceStr是随机字符串,signature是签名。JSAPI的列表中需要添加“chooseWXPay”函数。

接着,在页面中添加一个支付按钮,点击按钮后调起支付:

function wxpay() {

$.ajax({

url: "/pay.php",//调取后端相关接口

data: {

openid: wxOpenid,

total_fee: order_price * 100,

out_trade_no: order_sn,

mch_id: '',

notify_url: '',

trade_type: 'JSAPI'

},

dataType: "json",

type: 'POST',//请求方式

success: function(res) {

if (res.code == 0) {

wx.chooseWXPay({

timestamp: parseInt(res.info.timeStamp),

nonceStr: res.info.nonceStr,

package: res.info.package,

signType: res.info.signType,

paySign: res.info.paySign,

success: function(res) {

alert("支付成功!");

},

cancel: function(res) {

alert("支付取消!");

},

fail: function(res) {

console.log(res);

}

});

} else {

alert(res.msg);

}

},

error: function() {

alert('支付接口错误');

}

});

}

在JS代码中,我们通过AJAX调用后端接口,获取支付的相关参数,并通过chooseWXPay函数直接调用微信支付功能。

总之,微信的H5支付功能相当的方便快捷,可以帮助我们在移动端完成支付。当然,在使用过程中,也需要注意一些安全问题,保护用户的隐私和资金安全。

电话咨询 立即申请