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 相关文章推荐
使用 php4 加速 web 传输
Oct 09 PHP
php 获得汉字拼音首字母的函数
Aug 01 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
使用dump函数,给php加断点测试
Jun 25 PHP
php把数组值转换成键的方法
Jul 13 PHP
CI配置多数据库访问的方法
Mar 28 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
php自定义扩展名获取函数示例
Dec 12 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
php7 图形用户界面GUI 开发示例
Feb 22 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 数组的创建、调用和更新实现代码
2009/03/09 PHP
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
解析yii数据库的增删查改
2013/06/20 PHP
基于PHP创建Cookie数组的详解
2013/07/03 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
PHP折半(二分)查找算法实例分析
2018/05/12 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
windows下python连接oracle数据库
2017/06/07 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
Python rstrip()方法实例详解
2018/11/11 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
英国名牌男装店:Standout
2021/02/17 全球购物
商场消防管理制度
2014/01/12 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
死者家属慰问信
2015/03/24 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
学校2016年圣诞节活动总结
2016/03/31 职场文书
全家福照片寄语怎么写?
2019/04/02 职场文书
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技