thinkphp整合微信支付代码分享


Posted in PHP onNovember 24, 2016

本文实例为大家分享了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>

就这么简单。

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

PHP 相关文章推荐
PHP网站提速三大“软”招
Oct 09 PHP
PHP 导出数据到淘宝助手CSV的方法分享
Feb 27 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
php之curl实现http与https请求的方法
Oct 21 PHP
php rsa加密解密使用详解
Jan 14 PHP
PHP答题类应用接口实例
Feb 09 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
CI框架实现框架前后端分离的方法详解
Dec 30 PHP
laravel 时间格式转时间戳的例子
Oct 11 PHP
PHP实现简易图形计算器
Aug 28 PHP
Yii2中使用asset压缩js,css文件的方法
Nov 24 #PHP
微信自定义分享php代码分析
Nov 24 #PHP
php插入含有特殊符号数据的处理方法
Nov 24 #PHP
PHP合并数组的2种方法小结
Nov 24 #PHP
PHP magento后台无法登录问题解决方法
Nov 24 #PHP
微信 开发生成带参数的二维码的实例
Nov 23 #PHP
微信 getAccessToken方法详解及实例
Nov 23 #PHP
You might like
php str_replace的替换漏洞
2008/03/15 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
一个典型的PHP分页实例代码分享
2011/07/28 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
Python中endswith()函数的基本使用
2015/04/07 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
opencv3/C++ 平面对象识别&amp;透视变换方式
2019/12/11 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
简约控的天堂:The Undone
2016/12/21 全球购物
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
暑期实践思想汇报
2014/01/06 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
个人银行贷款担保书
2014/04/01 职场文书
个人考核材料
2014/05/15 职场文书
户籍证明模板
2014/09/28 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书