thinkphp 整合微信支付

thinkphp微信支付.zip

将微信支付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 整合微信支付

赞一个 (0)

评论 沙了个发

换个身份

取消评论

分享:

支付宝

微信