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 相关文章推荐
详解:――如何将图片储存在数据库里
Dec 05 PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
php 缩略图实现函数代码
Jun 23 PHP
php array的学习笔记
May 10 PHP
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
Jun 24 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
Apr 08 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
php json相关函数用法示例
Mar 28 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 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
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
用js来解决ajax读取页面乱码
2010/11/28 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
js中int和string数据类型互相转化实例
2019/01/16 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
JS实现小星星特效
2019/12/24 Javascript
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
详解Python中find()方法的使用
2015/05/18 Python
Python变量作用范围实例分析
2015/07/07 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
关于孝道的演讲稿
2014/05/21 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
2014年政教处工作总结
2014/12/20 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
毕业论文致谢信
2015/05/14 职场文书
城南旧事读书笔记
2015/06/29 职场文书