thinkphp整合微信支付代码分享
本文实例为大家分享了thinkphp整合微信支付代码,供大家参考,具体内容如下
下载:支付SDK
将微信支付SDK放在第三方类库Vendor下面,请切记把WxPay.Config.php里面的商户信息修改为您的公众号信息,以避免造成资金的流失。
php端代码
publicfunctionpay(){
//商户基本信息,可以写死在WxPay.Config.php里面,其他详细参考WxPayConfig.php
vendor('Pay.JSAPI');
$tools=new\JsApiPay();
$openid=$tools->GetOpenid();
$Out_trade_no=date('YHis').rand(100,1000);
$Total_fee='测试';
$Body='啥也不说';
$Total_fee=1;
$input=new\WxPayUnifiedOrder();
$input->SetBody($Body);
$input->SetOut_trade_no($Out_trade_no);
$input->SetTotal_fee($Total_fee);
$input->SetNotify_url("http://xx.xxx.com/pay/notify.php");
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$order=\WxPayApi::unifiedOrder($input);
$this->jsApiParameters=$tools->GetJsApiParameters($order);
$this->display();
}
HTML端代码
<!doctypehtml>
<head>
<metacharset="UTF-8">
<title>微信安全支付</title>
<metaname="keywords"content=""/>
<metaname="HandheldFriendly"content="True">
<metaname="MobileOptimized"content="320">
<metaname="format-detection"content="telephone=no">
<metahttp-equiv="Cache-Control"content="no-cache,no-store,must-revalidate"/>
<metahttp-equiv="Pragma"content="no-cache"/>
<metahttp-equiv="Expires"content="0"/>
<metahttp-equiv="cleartype"content="on">
<metaid="viewport"name="viewport"content="width=320,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,"/>
<scripttype="text/javascript">
//调用微信JSapi支付
functionjsApiCall()
{
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
{$jsApiParameters},
function(res){
WeixinJSBridge.log(res.err_msg);
if(res.err_msg=='get_brand_wcpay_request:cancel'){
alert("您已取消了此次支付");
return;
}elseif(res.err_msg=='get_brand_wcpay_request:fail'){
alert("支付失败");
return;
}elseif(res.err_msg=='get_brand_wcpay_request:ok'){
alert("支付成功!");//跳转到订单页面
}else{
alert("未知错误"+res.error_msg);
return;
}
}
);
}
functioncallpay()
{
if(typeofWeixinJSBridge=="undefined"){
if(document.addEventListener){
document.addEventListener('WeixinJSBridgeReady',jsApiCall,false);
}elseif(document.attachEvent){
document.attachEvent('WeixinJSBridgeReady',jsApiCall);
document.attachEvent('onWeixinJSBridgeReady',jsApiCall);
}
}else{
jsApiCall();
}
}
</script>
</head>
<body>
<buttontype="button"class="btnbtn-dangerbtn-lgbtn-block"onclick="callpay()">
确认支付
</button>
</body>
</html>
就这么简单。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。