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 相关文章推荐
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
Oct 27 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
PHP模板引擎Smarty中的保留变量用法分析
Apr 11 PHP
PHP简单遍历对象示例
Sep 28 PHP
PHP数据库操作三:redis用法分析
Aug 16 PHP
CI框架实现创建自定义类库的方法
Dec 25 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
Apr 17 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 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
JS 网站性能优化笔记
2011/05/24 PHP
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
php实现搜索类封装示例
2016/03/31 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
理解JSON:3分钟课程
2011/10/28 Javascript
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
JQuery控制图片由中心点逐渐放大效果
2016/06/26 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
python str与repr的区别
2013/03/23 Python
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
Python中的choice()方法使用详解
2015/05/15 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
python os模块简单应用示例
2019/05/23 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
python 实现字符串下标的输出功能
2020/02/13 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
python语言的优势是什么
2020/06/17 Python
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
电脑专业个人求职信范文
2014/02/04 职场文书
化学系大学生自荐信范文
2014/03/01 职场文书
《充气雨衣》教学反思
2014/04/07 职场文书
保研推荐信范文
2015/03/25 职场文书
python如何获取网络数据
2021/04/11 Python
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
Python实现简繁体转换
2021/06/07 Python
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技