支付宝 自动发货 php,ecshop 支付宝自动发货接口
一、在数据库order_info中添加trade_no字段
SQL语句:ALTER TABLE `ec_order_info` ADD COLUMN `trade_no` varchar(100) NOT NULL DEFAULT '' AFTER `pay_name`;
二、修改includes/modules/payment/alipay.php文件
查找:$order_sn = trim($order_sn);
代码之下添加:$trade_no = trim($_GET['trade_no']);//获取支付宝交易号
查找:
if ($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS')
{
/* 改变订单状态 */
order_paid($order_sn, 2);
修改:
if ($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS')
{
/* 改变订单状态 */
order_paid($order_sn, 2,'',$trade_no);
三、修改includes/lib_payment.php文件原文件118行开始
/**
* 修改订单的支付状态
*
* @access public
* @param string $log_id 支付编号
* @param integer $pay_status 状态
* @param string $note 备注
* @param string $trade_no支付宝交易号
* @return void
*/
function order_paid($log_id, $pay_status = PS_PAYED, $note = '',$trade_no = '')
{
/* 取得支付编号 */
$log_id = intval($log_id);
if ($log_id > 0)
{
/* 取得要修改的支付记录信息 */
$sql = "SELECT * FROM " . $GLOBALS['ecs']->table('pay_log') .
" WHERE log_id = '$log_id'";
$pay_log = $GLOBALS['db']->getRow($sql);
if ($pay_log && $pay_log['is_paid'] == 0)
{
/* 修改此次支付操作的状态为已付款 */
$sql = 'UPDATE ' . $GLOBALS['ecs']->table('pay_log') .
" SET is_paid = '1' WHERE log_id = '$log_id'";
$GLOBALS['db']->query($sql);
/* 根据记录类型做相应处理 */
if ($pay_log['order_type'] == PAY_ORDER)
{
/* 取得订单信息 */
$sql = 'SELECT order_id, user_id, order_sn,trade_no,consignee, address, tel, shipping_id, extension_code, extension_id, goods_amount ' .
'FROM ' . $GLOBALS['ecs']->table('order_info') .
" WHERE order_id = '$pay_log[order_id]'";
$order = $GLOBALS['db']->getRow($sql);
$order_id = $order['order_id'];
$order_sn = $order['order_sn'];
/*解决订单修改后多次付款发货确认*/
$trade = $order['trade_no'];
if (!empty($trade))
{
$trade_no = $trade.",".$trade_no;
}
/* 修改订单状态为已付款 */
$sql = 'UPDATE ' . $GLOBALS['ecs']->table('order_info') .
" SET order_status = '" . OS_CONFIRMED . "', " .
" confirm_time = '" . gmtime() . "', " .
" pay_status = '$pay_status', " .
" pay_time = '".gmtime()."', " .
" money_paid = order_amount," .
" trade_no = '$trade_no',".//更新支付宝交易号
" order_amount = 0 ".
"WHERE order_id = '$order_id'";
$GLOBALS['db']->query($sql);
四、修改admin/order.php文件
查找:
$smarty->assign('action_list', $act_list);
/* 模板赋值 */
$smarty->assign('delivery_order', $delivery_order);
$smarty->assign('goods_list', $goods_list);
$smarty->assign('delivery_id', $delivery_id); // 发货单id
代码之上添加:
/*判断支付方式是否支付宝*/
$alipay = false;
$order = order_info($delivery_order['order_id']);//根据订单ID查询订单信息,返回数组$order
$payment = payment_info($order['pay_id']);//取得支付方式信息
if($payment['pay_code'] == "alipay" && $delivery_order['status'] == 2 && !empty($order['trade_no']))
{
$alipay = true;
}
$smarty->assign('alipay', $alipay);
五、修改admin\templates\delivery_info.htm文件
查找:
替换:
this.submit();this.target='_self';this.action='order.php'"{else}action="order.php"{/if} method="post" name="theForm">
六、上传alipay_delivery.php文件到admin 目录下
alipay_delivery.php文件见附件
支付宝 自动发货 php,ecshop 支付宝自动发货接口相关推荐
- 支付宝 自动发货 php,ecshop支付宝自动发货接口用法示例
本文实例讲述了ecshop支付宝自动发货接口用法.分享给大家供大家参考,具体如下: 一.在数据库order_info中添加trade_no 字段 SQL语句: 复制代码代码如下: ALTER TABL ...
- 发货100虚拟商品自动发货系统
发货100–虚拟商品自动发货系统是一套功能强大的虚拟商品自动发货系统/文章付费阅读系统,无需人工值守,客户在线购买即可自动完成交易. 支持缺货提醒/快捷登录/回收站/免登录购买等多种功能. [模板说明 ...
- python支付宝自动转账_python实现支付宝转账接口
python实现支付宝转账接口 发布时间:2020-09-14 03:23:42 来源:脚本之家 阅读:128 由于工作需要使用python开发一个自动转账接口,记录一下开发过程. 首先需要在蚂蚁金服 ...
- python支付宝自动支付_python 调用支付宝支付
支付宝接口集成,本地环境调试支付请求 1.首先登录 蚂蚁金服网站,也就是支付宝开发者平台 登录蚂蚁金服开发者平台后,创建沙箱应用 开发者平台 也就是支付宝给开发者提供的调试环境应用 沙箱测试应用 2. ...
- 微信和支付宝的服务器在哪里,支付宝、iPhone、微信的自动续费服务在哪?我们要如何关闭?...
原标题:支付宝.iPhone.微信的自动续费服务在哪?我们要如何关闭? 我们在使用手机时或多或少都会充一些会员,比如视频会员什么的,但你知道吗?这些充值都是自动续费,可时间长了我们或许都忘了这件事,这 ...
- Ecshop支付宝网银支付插件|支付宝网银直连插件|纯网关网银接口
2019独角兽企业重金招聘Python工程师标准>>> 集成支付宝(纯网关)网银支付 功能说明://1.后台增加一个支付方式(网银支付) alipay.php //2. ...
- ecshop图片自动本地化插件,ECSHOP下载商品图片,ECSHOP商品详情远程图片,ecshop商品远程图片保存,ecshop图片自动本地化插件,商品图片本地化
ecshop图片自动本地化插件,ECSHOP下载商品图片,ECSHOP商品详情远程图片,ecshop商品远程图片保存,ecshop图片自动本地化插件,商品图片本地化,图片远程本地化插件,ecshop远 ...
- ecshop支付宝付款成功后台显示未付款
ecshop支付宝前台付款后台显示未付款处理成已付款 网站根目录下respond.php,在文件中搜索: if (file_exists($plugin_file)) 改成 if (file_exis ...
- Ecshop支付宝插件SQL注入及漏洞利用(exp)
0x00 在\includes\modules\payment\alipay.php文件中,有一个response函数用来处理支付信息,在ECSHOP的init初始化文件中,默认是做了全局转义的 ...
最新文章
- CentOS 6.8 安装 RabbitMQ
- python画图三维-Python三维绘图之Matplotlib库的使用方法
- 2.3 残差网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- 程序员面试题精选100题(43)-n个骰子的点数[算法]
- eventBus 与fragment
- ajax取返回值的方法
- LeetCode946-验证栈序列
- 利用php打印出九行菱形,C++ 输出菱形
- 候选公示!高工智能汽车金球奖第二批入围年度产品/方案亮相
- 【转】傅里叶分析之掐死教程
- 【郑州校区】BOS v2.0物流管理平台整体概述
- 【流程发现算法概述】
- 中科院博士论文《致谢》
- Linux下服务器开发的必要准备
- Docker常用的命令
- CGWallpapers网站不登录下载图片
- java实现下载网络图片到本地
- linux的lib目录,Linux 目录结构:/lib 分析
- r+w+无法写入/读取文件:w+和r+的根本区别
- 网页导航栏的设计原则和注意事项
热门文章
- 【一起入门MachineLearning】中科院机器学习-期末题库-【选择题13,14,15,16,17,26,27,65+多选题11,22+简答题2】
- 边沿检测电路的多种实现
- 华为,一口气签约3所大学!
- iOS--触碰响应UIResponder UIGestureRecognizer
- 美团王兴:8年时间,我对商业的思考
- 智慧公路引领时代变革?
- 动态规划—1.3 九宫格最短路径
- 肺部结节手术风险评估和手术时间预测 相关工作及可行性分析
- 如何使用Latex完成标题,摘要,关键词,图片插入,数学公式插入,表格插入等等
- 光学仿真案例(1) 铌酸锂非线性波导仿真模拟 FDTD仿真