thinkphp整合微信支付代碼分享
更新時間:2016年11月24日 15:50:28 作者:super_runman
這篇文章主要為大家分享了thinkphp整合微信支付代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了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>
就這么簡單。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Laravel (Lumen) 解決JWT-Auth刷新token的問題
今天小編就為大家分享一篇Laravel (Lumen) 解決JWT-Auth刷新token的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
thinkphp框架無限級欄目的排序功能實現(xiàn)方法示例
這篇文章主要介紹了thinkphp框架無限級欄目的排序功能實現(xiàn)方法,結合實例形式分析了thinkphp無限級欄目排序相關原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2020-03-03
Yii使用find findAll查找出指定字段的實現(xiàn)方法
這篇文章主要介紹了Yii使用find findAll查找出指定字段的實現(xiàn)方法,非常實用的技巧,需要的朋友可以參考下2014-09-09

