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中去除所有js,html,css代码
Oct 12 PHP
php 随机排序广告的实现代码
May 09 PHP
php实现文件下载更能介绍
Nov 23 PHP
php gzip压缩输出的实现方法
Apr 27 PHP
php生成静态页面的简单示例
Apr 17 PHP
[原创]php求圆周率的简单实现方法
May 30 PHP
PHP二维数组矩形转置实例
Jul 20 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
PHP文件与目录操作示例
Dec 24 PHP
PHP 中使用ajax时一些常见错误总结整理
Feb 27 PHP
php 静态属性和静态方法区别详解
Apr 09 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蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
dwr spring的集成实现代码
2009/03/22 Javascript
jquery 常用操作方法
2010/01/28 Javascript
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
jQuery基础知识点总结(必看)
2016/05/31 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
Python开发编码规范
2006/09/08 Python
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
python实现微信远程控制电脑
2018/02/22 Python
python实现简单神经网络算法
2018/03/10 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
2014年党员承诺书范文
2014/05/20 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
努力工作保证书
2015/02/28 职场文书
区域销售大会开幕词
2016/03/04 职场文书
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
世界十大狙击步枪排行榜
2022/03/20 杂记