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 相关文章推荐
PHP动态变静态原理
Nov 25 PHP
php生成随机数或者字符串的代码
Sep 05 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
PHPStrom 新建FTP项目以及在线操作教程
Oct 16 PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
Smarty模板语法详解
Jul 20 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
Feb 10 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面试题 试试看看你会不会也中招
2014/08/19 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
webpack入门必知必会
2017/01/16 Javascript
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
angular6的响应式表单的实现
2018/10/10 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
python导入坐标点的具体操作
2019/05/10 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
python基于opencv检测程序运行效率
2019/12/28 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
教师自我鉴定
2013/12/13 职场文书
项目副经理岗位职责
2013/12/30 职场文书
《鸟岛》教学反思
2014/04/26 职场文书
教师自我剖析材料
2014/09/29 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
文明单位创建材料
2014/12/24 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers