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 相关文章推荐
关于文本留言本的分页代码
Oct 09 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
PHP自动生成表单代码分享
Jun 19 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
必须收藏的php实用代码片段
Feb 02 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
thinkphp分页集成实例
Jul 24 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
Nov 22 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
Aug 07 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数组中删除元素的实现代码
2012/06/22 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
Python 使用多属性来进行排序
2019/09/01 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
Django ORM filter() 的运用详解
2020/05/14 Python
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
运动会稿件50字
2014/02/17 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
玄武湖导游词
2015/02/05 职场文书
匿名检举信范文
2015/03/02 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
详解Django的MVT设计模式
2021/04/29 Python
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL