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 相关文章推荐
如何在WIN2K下安装PHP4.04
Oct 09 PHP
下载文件的点击数回填
Oct 09 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
PHP数组排序之sort、asort与ksort用法实例
Sep 08 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php文件缓存类用法实例分析
Apr 22 PHP
php获取ip及网址的简单方法(必看)
Apr 01 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
May 29 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 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中文字符截取防乱码
2008/03/28 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
php实现的短网址算法分享
2014/06/20 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
phpfpm的作用和用法
2019/10/10 PHP
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
2015/09/02 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
Python中逗号的三种作用实例分析
2015/06/08 Python
PyCharm在win10的64位系统安装实例
2017/11/26 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
毕业求职自荐信格式是什么
2013/11/19 职场文书
运动会跳远广播稿
2014/02/04 职场文书
绿色环保口号
2014/06/12 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
2014年财务经理工作总结
2014/12/08 职场文书
java版 联机五子棋游戏
2022/05/04 Java/Android