thinkphp支付宝支付(thinkPHP和onethink微信支付插件分享)
类别:编程学习 浏览量:2749
时间:2021-11-03 15:55:40 thinkphp支付宝支付
thinkPHP和onethink微信支付插件分享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微支付插件所遇到的程序开发问题。
您可能感兴趣
- thinkphp远程代码执行教程(ThinkPHP 5.x远程命令执行漏洞复现)
- thinkphp支付宝支付(thinkPHP和onethink微信支付插件分享)
- thinkphp接口开发实例(ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解)
- thinkphp5单例原理(Thinkphp5框架简单实现钩子Hook行为的方法示例)
- thinkphp5.1插件实现(Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例)
- thinkphp分页效果怎样(thinkphp5+layui实现的分页样式示例)
- thinkphp5对接支付宝扫码支付(ThinkPHP框架下整合支付宝支付功能图文教程)
- thinkphp前后端配合(thinkPHP+LayUI 流加载实现功能)
- thinkphp5设计权限(Thinkphp5.0 框架视图view的比较标签用法分析)
- thinkphp5框架怎么设置(thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例)
- thinkphp框架切换数据库(ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例)
- thinkphp5开发小程序后台(PHP小程序支付功能完整版基于thinkPHP)
- thinkphp5.1 执行流程(Thinkphp5.0 框架的请求方式与响应方式分析)
- ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解(ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解)
- thinkphp6.0安装(使用composer安装使用thinkphp6.0框架问题视频教程)
- thinkphp怎么输出二维值(thinkphp 表名 大小写 窍门)
- 这部民警编演的红色话剧,讲述了一个不断追寻的故事(这部民警编演的红色话剧)
- 日本菜有什么好吃(日本菜有什么好吃的做法)
- 韩国泡菜做法(韩国泡菜的做法步骤)
- 泰国旅游攻略(泰国旅游攻略必去景点)
- 越难春卷(越难春卷皮怎么用)
- 休闲VS新古典 办公家居简约设计(办公家居简约设计)
热门推荐
- vue考试链接重置(Vue实现答题功能)
- html注册表单验证代码(JavaScript+html实现前端页面随机二维码验证)
- escape()、encodeURI()、encodeURIComponent()区别
- linux中swap分区的作用是(linux swap交换分区详解)
- 微信小程序语音录入(微信小程序使用同声传译实现语音识别功能)
- laravel查询构建器原理和使用(阿里对象存储OSS在laravel框架中的使用方法)
- jquery 选择器的用法
- docker部署mysql多实例(Docker部署mysql一主一从的操作方法)
- dockerpush被拒绝(docker pull拉取超时的解决方案)
- vue考试链接重置(Vue实现答题功能)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9