php整合支付宝,Thinkphp5.0整合支付宝在线下单
thinkphp5.0支付宝在线支付下单整个流程,包括创建订单、支付成功回调更新订单状态、最终跳转到商户订单详情页
查看演示
下载资源:
17
次 下载资源
下载积分:
998
积分
支付宝在线支付控制器代码 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;
php整合支付宝,Thinkphp5.0整合支付宝在线下单相关推荐
- 基于thinkphp5.0和支付宝面对面扫码支付DEMO制作的扫码支付
基于thinkphp5.0和支付宝面对面扫码支付DEMO制作的扫码支付 今天接口申请下来,下载了官方demo对着调试了一天,终于实现想要的功能,先看图 选择支付宝支付 跳出二维码弹窗 手机支付宝进 ...
- 一分钟教会你利用thinkphp5.0接入支付宝
一分钟教会你利用thinkphp5.0接入支付宝 备注:thinkphp版本:5.0.24 接入前的准备: 1.沙箱环境网址:https://openhome.alipay.com/platform/ ...
- ThinkPHP5.0+APP+支付宝支付 服务端开发
工作环境,支付宝账号是公司的,app应用和秘钥配置都是我自己申请的,这其中的流程暂且跳过. 一.准备工作 appid.应用私钥.应用公钥.支付宝公钥 二.配置文件 'alipay'=>['app ...
- c# 中通快递对接_基于C#的快递在线下单接口免费对接方法-快递鸟
[c#]代码库using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
- 支付二维码整合 - 三码合一支持支付宝、QQ、微信
支付二维码整合 - 三码合一支持支付宝.QQ.微信 1. 前提:获取各个二维码的具体内容 在写代码前,我们需要先获取不同支付方式的二维码内容.很简单,只需要打开各个支付码,截图,然后随便找个可以扫码的 ...
- 一篇文章读懂支付宝9.0改版背后的产品逻辑和战略布局
关于支付宝9.0改版:如果你只看到了蓝色图标,那么还停留在表相.如果你还看到了类似"大众点评"与"微信",那么进入了皮相.如果你看清楚了产品改版背后的商业逻辑与 ...
- plupload php实例,thinkPHP5框架整合plupload实现图片批量上传
这篇文章主要介绍了关于thinkPHP5框架整合plupload实现图片批量上传,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 本文实例讲述了thinkPHP5框架整合plupload ...
- 项目ITP(五) spring4.0 整合 Quartz 实现任务调度
2014-05-16 22:51 by Jeff Li 前言 系列文章:[传送门] 项目需求: 二维码推送到一体机上,给学生签到扫描用. 然后须要的是 上课前20分钟 .幸好在帮带我的学长做 p2p ...
- IIS5.1/IIS6.0 整合Tomcat6.0.14完全版
1.从sun网站下载jdk1.6版 2.从tomcat官方站下载tomcat6.0.14版 3.下载JK2 (下载地址:http://archive.apache.org/dist/jakarta/t ...
最新文章
- TSM对Oracle数据库备份脚本
- wps如何自己制作流程图_自己如何制作APP软件
- 单例模式之文件缓存器
- C++string容器-字符存取
- linux从别的主机下载,从局域网内的其他Linux主机下载文件
- android方法是对象吗,为什么android中对象不初始化也能调用方法?
- python与vb语言_vb.net和python区别是什么
- HTML网页设计CSS样式代码大全
- 超全面总结Vue面试知识点
- 幅相曲线渐近线_第十讲 频域分析法(Nyquist曲线)
- android switch的使用方法,Android开关控件,ToggleButton和Switch使用大全
- python语言mooc作业_计算机基础(Ⅱ)Python语言-中国大学mooc-试题题目及答案
- Simulink数据保存提取和示波器显示
- CVPR2019| 中科院VIPL实验室11篇CVPR解读:弱监督学习、视频分割、目标检测
- 简单的集装箱号码识别
- 全网最新-扶风视频解析计费系统,2022优化免授权版(赠接口轮询插件)
- 弘辽科技:拼多多再出“新招”
- 小学6年级下册计算机课教案,小学六年级下册音乐教案大全
- 从DataSet 导出到Excel(是DataSet中的每个DataTable对应每个Sheet)
- django 连接oracle的坑和解决方法