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>
就这么简单。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。