微信h5支付源码示例
微信H5支付是针对在微信客户端以外的移动端网页中展示商品或服务,用户在前述页面确认使用微信支付时,商户可呼起微信客户端进行支付的一项支付方式,主要用于触屏版的手机浏览器请求微信支付的场景。而H5支付源码示例,则是实现微信H5支付功能所需要的代码示例。
在进行微信H5支付前,商户需要准备以下材料:
1. H5支付域名:该域名需要备案并提供一份域名授权书;
2. 售卖产品/使用场景的描述:商户需要对售卖产品或使用场景进行描述;
3. 售卖产品对应的官方网站域名或详情页网址;
4. 微信商户:商户需要先开通微信商户,包括企业和个体户类型,还需要上传相关的基本信息,例如营业执照、身份证、银行账户等。
当商户完成微信H5支付的申请后,可以进入【商户平台->产品中心->产品大全->我的产品->H5支付】查看H5支付的开通状态,并在该处提交支付域名、售卖产品/使用场景进行描述、补充材料等。
而在实现微信H5支付功能时,商户需要使用微信H5支付源码示例进行开发。下面就以微信官方提供的示例代码为例进行说明:
1. 发起支付请求
使用JavaScript代码来发起支付请求,如下:
```javascript
function onBridgeReady(){
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId":"wx2421b1c4370ec43b", //公众号名称,由商户传入
"timeStamp":"1395712654", //时间戳,自1970年以来的秒数
"nonceStr":"e61463f8efa94090b1f366cccfbbb444", //随机串
"package":"prepay_id=u802345jgfjsdfgsdg888",//"扩展包,由商户传入
"signType":"MD5", //微信签名方式,由商户传入
"paySign":"70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ||
res.err_msg == "get_brand_wcpay_request:ok" ){
//支付成功
}else {
//支付失败
}
}
);
}
```
其中,appId、timeStamp、nonceStr、package、signType和paySign为请求支付所必须传递的参数。
2. 支付结果回调
商户需要在自己的服务器端接收微信后台返回的支付结果,并对返回的结果进行处理。代码示例如下:
```php
$xml = $GLOBALS[‘HTTP_RAW_POST_DATA’];
//将xml格式转换成数组,方便读取
$data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
if($data[‘return_code’] == ‘SUCCESS’ && $data[‘result_code’] == ‘SUCCESS’){
//支付成功
} else {
//支付失败
}
```
在上述代码中,$data为接收到的支付结果数据,其中return_code表示通信结果,result_code表示支付结果。此处代码仅供参考,商户需要根据自身需求进行调整和修改。
总的来说,微信H5支付源码示例可以帮助商户快速开发出针对微信H5支付的功能,商户在使用该示例代码时,还需结合自身的需求进行适当的调整和修改。同时,在进行微信H5支付前,商户还需注意备案域名、提供域名授权书等事项。