php教程

超轻量级php框架startmvc

thinkphp整合微信支付代码分享

更新时间:2020-03-15 10:16:46 作者:startmvc
本文实例为大家分享了thinkphp整合微信支付代码,供大家参考,具体内容如下下载:支付SDK&

本文实例为大家分享了thinkphp整合微信支付代码,供大家参考,具体内容如下

下载:支付SDK  

将微信支付SDK放在第三方类库Vendor下面,请切记把WxPay.Config.php里面的商户信息修改为您的公众号信息,以避免造成资金的流失。

php端代码


public function pay(){ 
 //商户基本信息,可以写死在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端代码


<!doctype html> 
<head> 
 <meta charset="UTF-8"> 
 <title>微信安全支付</title> 
 <meta name="keywords" content="" /> 
 <meta name="HandheldFriendly" content="True"> 
 <meta name="MobileOptimized" content="320"> 
 <meta name="format-detection" content="telephone=no"> 
 <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> 
 <meta http-equiv="Pragma" content="no-cache" /> 
 <meta http-equiv="Expires" content="0" /> 
 <meta http-equiv="cleartype" content="on"> 
 <meta id="viewport" name="viewport" content="width=320, initial-scale=1.0,maximum-scale=1.0, user-scalable=0," /> 
 <script type="text/javascript"> 
 //调用微信JS api 支付 
 function jsApiCall() 
 { 
 WeixinJSBridge.invoke( 
 'getBrandWCPayRequest', 
 {$jsApiParameters}, 
 function(res){ 
 WeixinJSBridge.log(res.err_msg); 
 if(res.err_msg == 'get_brand_wcpay_request:cancel') { 
 alert("您已取消了此次支付"); 
 return; 
 } else if(res.err_msg == 'get_brand_wcpay_request:fail') { 
 alert("支付失败"); 
 return; 
 } else if(res.err_msg == 'get_brand_wcpay_request:ok') { 
 alert("支付成功!");//跳转到订单页面 
 
 } else { 
 alert("未知错误"+res.error_msg); 
 return; 
 } 
 } 
 ); 
 } 
 function callpay() 
 { 
 if (typeof WeixinJSBridge == "undefined"){ 
 if( document.addEventListener ){ 
 document.addEventListener('WeixinJSBridgeReady', jsApiCall, false); 
 }else if (document.attachEvent){ 
 document.attachEvent('WeixinJSBridgeReady', jsApiCall); 
 document.attachEvent('onWeixinJSBridgeReady', jsApiCall); 
 } 
 }else{ 
 jsApiCall(); 
 } 
 } 
 </script> 
</head> 
<body> 
 <button type="button" class="btn btn-danger btn-lg btn-block" onclick="callpay()"> 
 确认支付 
 </button> 
</body> 
</html> 

就这么简单。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

thinkphp 微信支付