Thinkphp和onethink实现微信支付插件


Posted in PHP onApril 13, 2016

thinkPHP和微支付实现的微信支付插件,在微信中调用微信jssdk实现支付,这里有详细的代码和教程,具体看这里:

//实现的Wxpay钩子方法
    public function Wxpay($param){
      require './Addons/Wxpay/WxPayPubHelper/WxPayPubHelper.php';
      $jsApi = new \JsApi_pub(); 
       
      //=========步骤1:网页授权获取用户openid============
      if (!isset($_GET['code']))
      {
        //触发微信返回code码
        $url = $jsApi->createOauthUrlForCode(\WxPayConf_pub::JS_API_CALL_URL.'/order_id/'.$param['order_id']);
        Header("Location: $url");
      }else
      {
        $order_id = $param['order_id'];
        $info = M('Order')->where('id='.$order_id)->find();
        if(empty($info) || $info['is_pay'] == 1){
          dump('该订单不存在或已支付'.$order_id);
          exit();
        }
        $this->assign('info', $info);
        $a = $info['money'];
        $b = 100;
        $c = $a * $b;
         
        //获取code码,以获取openid
        $code = $_GET['code'];
        $jsApi->setCode($code);
        $openid = $jsApi->getOpenId();
      }
       
      //=========步骤2:使用统一支付接口,获取prepay_id============
      //使用统一支付接口
      $unifiedOrder = new \UnifiedOrder_pub();
       
      $unifiedOrder->setParameter("openid","$openid");//商品描述
      $unifiedOrder->setParameter("body","在线预订");//商品描述
      //自定义订单号,此处仅作举例
      $timeStamp = time();
//       $out_trade_no = \WxPayConf_pub::APPID."$timeStamp";
      $out_trade_no = $info['ordersn'];
      $unifiedOrder->setParameter("out_trade_no", "$out_trade_no");//商户订单号
      $unifiedOrder->setParameter("total_fee", "$c");//总金额
      $unifiedOrder->setParameter("notify_url",\WxPayConf_pub::NOTIFY_URL.'/order_id/'.$param['order_id']);//通知地址
      $unifiedOrder->setParameter("trade_type","JSAPI");//交易类型
       
      $prepay_id = $unifiedOrder->getPrepayId();
      //=========步骤3:使用jsapi调起支付============
      $jsApi->setPrepayId($prepay_id);
      $jsApiParameters = $jsApi->getParameters();
      $this->assign('jsApiParameters', $jsApiParameters);
 
      $this->display('pay');
    }

以上就是本文的全部内容,希望对大家学习PHP程序设计有所帮助。

PHP 相关文章推荐
mysql+php分页类(已测)
Mar 31 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
Jan 11 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
PHP浮点数精度问题汇总
May 13 PHP
你应该知道PHP浮点数知识
May 13 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
PHP对XML内容进行修改和删除实例代码
Oct 26 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 PHP
Yii框架小部件(Widgets)用法实例详解
May 15 PHP
PHP MSSQL 分页实例
Apr 13 #PHP
php构造方法中析构方法在继承中的表现
Apr 12 #PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 #PHP
ThinkPHP框架里隐藏index.php
Apr 12 #PHP
PHP 绘制网站登录首页图片验证码
Apr 12 #PHP
PHP中Restful api 错误提示返回值实现思路
Apr 12 #PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 #PHP
You might like
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
js实现小星星游戏
2020/03/23 Javascript
深入Python函数编程的一些特性
2015/04/13 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
python实现两个文件合并功能
2018/04/01 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
生产部主管岗位职责
2014/01/06 职场文书
生日宴会答谢词
2014/01/09 职场文书
运输服务质量承诺书
2014/03/27 职场文书
供货协议书范本
2014/04/22 职场文书
电子商务专业求职信
2014/07/10 职场文书
公司股份合作协议书
2014/12/07 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server
Go语言编译原理之变量捕获
2022/08/05 Golang