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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
php mysql索引问题
Jun 07 PHP
php下删除字符串中HTML标签的函数
Aug 27 PHP
php curl基本操作详解
Jul 23 PHP
php操作mysqli(示例代码)
Oct 28 PHP
解决file_get_contents无法请求https连接的方法
Dec 17 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
Laravel5.1 框架响应基本用法实例分析
Jan 04 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
Zend Framework页面缓存实例
2014/06/25 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
PHP数组实例详解
2016/06/26 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
如何在PHP中生成随机数
2020/06/04 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
Python对列表排序的方法实例分析
2015/05/16 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
使用Python自动生成HTML的方法示例
2019/08/06 Python
基于python图像处理API的使用示例
2020/04/03 Python
Python selenium自动化测试模型图解
2020/04/15 Python
python操作链表的示例代码
2020/09/27 Python
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
年度考核自我鉴定
2013/11/09 职场文书
初一体育教学反思
2014/01/29 职场文书
《桂林山水》教学反思
2014/02/08 职场文书
电焊工岗位职责
2014/03/06 职场文书
工程管理英文求职信
2014/03/18 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
实训报告范文大全
2014/11/04 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
2015年秋季新学期寄语
2015/03/25 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
宾馆客房管理制度
2015/08/06 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server