thinkPHP和onethink微信支付插件分享


Posted in PHP onAugust 11, 2019

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');
    }

总结

以上是三水点靠木为你收集整理的thinkPHP和onethink微支付插件全部内容,希望文章能够帮你解决thinkPHP和onethink微支付插件所遇到的程序开发问题。

PHP 相关文章推荐
数据库相关问题
Oct 09 PHP
PHP与MySQL开发中页面出现乱码的一种解决方法
Jul 29 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
php判断表是否存在的方法
Jun 18 PHP
PHP中的switch语句的用法实例详解
Oct 21 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
thinkphp制作404跳转页的简单实现方法
Sep 22 PHP
php版微信自定义回复功能示例
Dec 05 PHP
PHP使用PDO操作sqlite数据库应用案例
Mar 07 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 PHP
Jsonp劫持学习
Apr 01 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
Aug 09 #PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 #PHP
php tpl模板引擎定义与使用示例
Aug 09 #PHP
php函数式编程简单示例
Aug 08 #PHP
因str_replace导致的注入问题总结
Aug 08 #PHP
PHP goto语句用法实例
Aug 06 #PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 #PHP
You might like
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
smarty自定义函数用法示例
2016/05/20 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
PHP观察者模式实例分析【对比JS观察者模式】
2019/05/22 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
javascript引导程序
2008/10/26 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
Python map及filter函数使用方法解析
2020/08/06 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
仓库管理专业个人的自我评价
2013/12/30 职场文书
十岁生日父母答谢词
2014/01/18 职场文书
医德医风演讲稿
2014/05/20 职场文书
民主生活会剖析材料
2014/09/30 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
python 闭包函数详细介绍
2022/04/19 Python
Win11更新失败并提示0xc1900101
2022/04/19 数码科技