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 相关文章推荐
人尽可用的Windows技巧小贴士之下篇
Mar 22 PHP
php下载远程文件类(支持断点续传)
Nov 14 PHP
浅析SVN常见问题及解决方法
Jun 21 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
PHP图形操作之Jpgraph学习笔记
Dec 25 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
yii gridview实现时间段筛选功能
Aug 15 PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
PHP容器类的两种实现方式示例
Jul 24 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
提问的智慧
2006/10/09 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
MSN消息提示类
2006/09/05 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
javascript new fun的执行过程
2010/08/05 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
2010/10/24 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
vue中使用ueditor富文本编辑器
2018/02/08 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
python小技巧之批量抓取美女图片
2014/06/06 Python
Python对象体系深入分析
2014/10/28 Python
python基于socket实现网络广播的方法
2015/04/29 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
更新修改后的Python模块方法
2019/03/03 Python
Python列表如何更新值
2020/05/27 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
思想汇报格式
2014/01/05 职场文书
进步之星获奖感言
2014/02/22 职场文书
电气工程自动化求职信
2014/03/14 职场文书
生日主持词
2014/03/20 职场文书
个人委托书范本
2014/04/02 职场文书
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python
Python基础知识学习之类的继承
2021/05/31 Python
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android
源码安装apache脚本部署过程详解
2022/09/23 Servers