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 相关文章推荐
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
Oct 09 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
php函数间的参数传递(值传递/引用传递)
Sep 23 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
PHP多文件上传类实例
Mar 07 PHP
php验证身份证号码正确性的函数
Jul 20 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
Promise.all中对于reject的处理方法
2018/08/01 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
Vue v-for循环之@click点击事件获取元素示例
2019/11/09 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
python递归查询菜单并转换成json实例
2017/03/27 Python
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
《蜗牛》教学反思
2014/02/18 职场文书
爱祖国演讲稿
2014/05/04 职场文书
办理护照工作证明
2014/10/10 职场文书
北京故宫导游词
2015/01/31 职场文书
物业工程部岗位职责
2015/02/11 职场文书
党章学习心得体会2016
2016/01/14 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
用Python爬取某乎手机APP数据
2021/06/15 Python
详解Golang如何优雅的终止一个服务
2022/03/21 Golang