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
第七节--类的静态成员
Nov 16 PHP
实现php加速的eAccelerator dll支持文件打包下载
Sep 30 PHP
php 获取完整url地址
Dec 20 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
Apr 15 PHP
深入php多态的实现详解
Jun 09 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
Jun 25 PHP
PHP微信刮刮卡 附微信接口
Jul 22 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
php进行md5加密简单实例方法
Sep 19 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如何将XML转成数组
2016/04/04 PHP
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
Python下Fabric的简单部署方法
2015/07/14 Python
Python实现曲线点抽稀算法的示例
2017/10/12 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
Python将string转换到float的实例方法
2019/07/29 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
经销商会议欢迎词
2014/01/11 职场文书
丑小鸭教学反思
2014/02/03 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
名人演讲稿范文
2014/09/16 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
副总经理岗位职责
2015/02/02 职场文书
中班教师个人总结
2015/02/05 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
张思德观后感
2015/06/09 职场文书
Python基础学习之奇异的GUI对话框
2021/05/27 Python
JS前端可扩展的低代码UI框架Sunmao使用详解
2022/07/23 Javascript