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 相关文章推荐
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
php设计模式之单例模式使用示例
Jan 20 PHP
Linux中为php配置伪静态
Dec 17 PHP
php实现删除空目录的方法
Mar 16 PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 PHP
简单了解PHP编程中数组的指针的使用
Nov 30 PHP
php面向对象值单例模式
May 03 PHP
PHP 芝麻信用接入的注意事项
Dec 01 PHP
php json中文编码为null的解决办法
Dec 14 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 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
用PHP创建PDF中文文档
2006/10/09 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
js实现目录定位正文示例
2013/11/14 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
js跳转页面方法总结
2014/01/29 Javascript
Node.js的Express框架使用上手指南
2016/03/12 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
前端路由&webpack基础配置详解
2019/06/10 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
js实现网页随机验证码
2020/10/19 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
python实现八大排序算法(1)
2017/09/14 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
Python贪心算法实例小结
2018/04/22 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
python如何制作缩略图
2019/04/30 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
Intersport西班牙:在线体育商店
2019/11/06 全球购物
咖啡馆创业计划书
2014/01/26 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
初中班主任心得体会
2016/01/07 职场文书
导游词之岳阳楼
2019/09/25 职场文书
详解Python中*args和**kwargs的使用
2022/04/07 Python