Thinkphp5.0支付宝在线支付下单流程怎么实现
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容主要讲解"Thinkphp5.0支付宝在线支付下单流程怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Thinkphp5.0支付宝在线支付下
千家信息网最后更新 2025年02月01日Thinkphp5.0支付宝在线支付下单流程怎么实现
本篇内容主要讲解"Thinkphp5.0支付宝在线支付下单流程怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Thinkphp5.0支付宝在线支付下单流程怎么实现"吧!
Thinkphp5.0支付宝在线支付下单整个流程实例,包括创建订单、支付成功回调更新订单状态、最终跳转到商户订单详情页
支付宝在线支付控制器代码
public function alipay() {//发起支付宝支付 $order_no = date("YmdHis") . rand(100000, 999999); if (request()->isPost()) { //支付表单提交,并唤起支付宝在线支付 //调用 application\index\model\Pay.php $Pay = new Pay; $result = $Pay->alipay([ 'notify_url' => request()->domain() . url('index/index/alipay_notify'), 'return_url' => request()->domain() . url('index/index/alipay_return')."?order_no=".$order_no."&", 'out_trade_no' => input('post.orderid/s', '', 'trim,strip_tags'), 'subject' => input('post.subject/s', '', 'trim,strip_tags'), 'total_fee' => input('post.total_fee/f'), //订单金额,单位为元 'body' => input('post.body/s', '', 'trim,strip_tags'), ]); if (!$result['code']) { return $this->error($result['msg']); } return $result['msg']; } //创建订单 db('order_sucaihuo')->insert(array( 'order_no' => $order_no, 'order_money' => 0.1, //订单金额 'state' => 0, //支付状态 0 未支付, 1已支付 'uid' => 1, //用户uid 'addtime' => time(), //下单时间 'update_time' => 0 //支付时间 )); $this->view->orderid = $order_no; return $this->fetch(); } //支付宝客户端会每隔一段时间请求一次 public function alipay_notify() {//异步订单通知 $Pay = new Pay; $result = $Pay->notify_alipay(); if ($result == 'success') { $pay_info = $_REQUEST; $order_no = $pay_info['out_trade_no']; $order_info = db('order_sucaihuo')->where('order_no', $order_no)->find(); //若是未付款则更新 if ($order_info['state'] == 0) { $data['trade_no'] = $pay_info['trade_no']; $data['state'] = 1; $data['update_time'] = time(); db('order_sucaihuo')->where("order_no", $order_no)->update($data); } } //测试支付回调,linux记得开启777写入权限 file_put_contents("notify.txt", $result); file_put_contents("request.txt", json_encode($_REQUEST)); }
订单表
CREATE TABLE IF NOT EXISTS `order_sucaihuo` ( `id` int(11) unsigned NOT NULL, `uid` int(11) NOT NULL, `order_no` varchar(30) NOT NULL, `trade_no` varchar(150) DEFAULT NULL COMMENT '交易号', `order_money` decimal(10,2) DEFAULT '0.00', `state` int(2) NOT NULL DEFAULT '0', `addtime` int(10) NOT NULL, `update_time` int(10) DEFAULT '0' ) ENGINE=MyISAM AUTO_INCREMENT=6718 DEFAULT CHARSET=utf8;
到此,相信大家对"Thinkphp5.0支付宝在线支付下单流程怎么实现"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
支付
订单
在线支付
在线
流程
时间
内容
状态
金额
学习
更新
实用
更深
成功
代码
兴趣
单位
商户
实例
实用性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
英雄联盟登陆 无法连接服务器
软件开发助理工程师的职责
徐州h3c塔式服务器
软件开发费用测算报告
微信小程序对接数据库
excel连接ora数据库
附加数据库 948
5g手机服务器接收模式
福建省网络安全在线
档案馆数据库迁移上云
东莞网警提醒网络安全无小事
网络安全的认识1000字
学软件开发接私活
计算机网络技术和大数据与会计
链路服务器警报怎么处理
中石化和软件开发
没备案的网站数据库
传奇数据库修改召唤怪物
建个数据库网站多少钱
清华软件开发李晓
网络技术分值分布
冒险岛能不能转服务器
网络安全位转发率
提示用户没有数据库权限
浦东新区定制软件开发诚信服务
上海修诺网络技术有限公司
软件开发前期问卷调查
黑潮深海觉醒服务器爆满
网络安全绘画临摹
医学数据库的设计