thinkphp整合微信支付代碼分享
本文實(shí)例為大家分享了thinkphp整合微信支付代碼,供大家參考,具體內(nèi)容如下
下載:支付SDK
將微信支付SDK放在第三方類(lèi)庫(kù)Vendor下面,請(qǐng)切記把WxPay.Config.php里面的商戶(hù)信息修改為您的公眾號(hào)信息,以避免造成資金的流失。
php端代碼
public function pay(){ //商戶(hù)基本信息,可以寫(xiě)死在WxPay.Config.php里面,其他詳細(xì)參考WxPayConfig.php vendor('Pay.JSAPI'); $tools = new \JsApiPay(); $openid = $tools->GetOpenid(); $Out_trade_no=date('YHis').rand(100,1000); $Total_fee='測(cè)試'; $Body='啥也不說(shuō)'; $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"> //調(diào)用微信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("支付成功!");//跳轉(zhuǎn)到訂單頁(yè)面 } else { alert("未知錯(cuò)誤"+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()"> 確認(rèn)支付 </button> </body> </html>
就這么簡(jiǎn)單。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Laravel (Lumen) 解決JWT-Auth刷新token的問(wèn)題
今天小編就為大家分享一篇Laravel (Lumen) 解決JWT-Auth刷新token的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10thinkphp框架無(wú)限級(jí)欄目的排序功能實(shí)現(xiàn)方法示例
這篇文章主要介紹了thinkphp框架無(wú)限級(jí)欄目的排序功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkphp無(wú)限級(jí)欄目排序相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03php中使用gd庫(kù)實(shí)現(xiàn)下載網(wǎng)頁(yè)中所有圖片
這篇文章主要介紹了php中使用gd庫(kù)實(shí)現(xiàn)下載網(wǎng)頁(yè)中所有圖片,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05Session的工作機(jī)制詳解和安全性問(wèn)題(PHP實(shí)例講解)
有一點(diǎn)我們必須承認(rèn),大多數(shù)web應(yīng)用程序都離不開(kāi)session的使用。這篇文章將會(huì)結(jié)合php以及http協(xié)議來(lái)分析如何建立一個(gè)安全的會(huì)話(huà)管理機(jī)制2014-04-04Yii使用find findAll查找出指定字段的實(shí)現(xiàn)方法
這篇文章主要介紹了Yii使用find findAll查找出指定字段的實(shí)現(xiàn)方法,非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09