一、在数据库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 支付宝自动发货接口相关推荐

  1. 支付宝 自动发货 php,ecshop支付宝自动发货接口用法示例

    本文实例讲述了ecshop支付宝自动发货接口用法.分享给大家供大家参考,具体如下: 一.在数据库order_info中添加trade_no 字段 SQL语句: 复制代码代码如下: ALTER TABL ...

  2. 发货100虚拟商品自动发货系统

    发货100–虚拟商品自动发货系统是一套功能强大的虚拟商品自动发货系统/文章付费阅读系统,无需人工值守,客户在线购买即可自动完成交易. 支持缺货提醒/快捷登录/回收站/免登录购买等多种功能. [模板说明 ...

  3. python支付宝自动转账_python实现支付宝转账接口

    python实现支付宝转账接口 发布时间:2020-09-14 03:23:42 来源:脚本之家 阅读:128 由于工作需要使用python开发一个自动转账接口,记录一下开发过程. 首先需要在蚂蚁金服 ...

  4. python支付宝自动支付_python 调用支付宝支付

    支付宝接口集成,本地环境调试支付请求 1.首先登录 蚂蚁金服网站,也就是支付宝开发者平台 登录蚂蚁金服开发者平台后,创建沙箱应用 开发者平台 也就是支付宝给开发者提供的调试环境应用 沙箱测试应用 2. ...

  5. 微信和支付宝的服务器在哪里,支付宝、iPhone、微信的自动续费服务在哪?我们要如何关闭?...

    原标题:支付宝.iPhone.微信的自动续费服务在哪?我们要如何关闭? 我们在使用手机时或多或少都会充一些会员,比如视频会员什么的,但你知道吗?这些充值都是自动续费,可时间长了我们或许都忘了这件事,这 ...

  6. Ecshop支付宝网银支付插件|支付宝网银直连插件|纯网关网银接口

    2019独角兽企业重金招聘Python工程师标准>>> 集成支付宝(纯网关)网银支付 功能说明://1.后台增加一个支付方式(网银支付) alipay.php        //2. ...

  7. ecshop图片自动本地化插件,ECSHOP下载商品图片,ECSHOP商品详情远程图片,ecshop商品远程图片保存,ecshop图片自动本地化插件,商品图片本地化

    ecshop图片自动本地化插件,ECSHOP下载商品图片,ECSHOP商品详情远程图片,ecshop商品远程图片保存,ecshop图片自动本地化插件,商品图片本地化,图片远程本地化插件,ecshop远 ...

  8. ecshop支付宝付款成功后台显示未付款

    ecshop支付宝前台付款后台显示未付款处理成已付款 网站根目录下respond.php,在文件中搜索: if (file_exists($plugin_file)) 改成 if (file_exis ...

  9. Ecshop支付宝插件SQL注入及漏洞利用(exp)

     0x00 在\includes\modules\payment\alipay.php文件中,有一个response函数用来处理支付信息,在ECSHOP的init初始化文件中,默认是做了全局转义的 ...

最新文章

  1. CentOS 6.8 安装 RabbitMQ
  2. python画图三维-Python三维绘图之Matplotlib库的使用方法
  3. 2.3 残差网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  4. 程序员面试题精选100题(43)-n个骰子的点数[算法]
  5. eventBus 与fragment
  6. ajax取返回值的方法
  7. LeetCode946-验证栈序列
  8. 利用php打印出九行菱形,C++ 输出菱形
  9. 候选公示!高工智能汽车金球奖第二批入围年度产品/方案亮相
  10. 【转】傅里叶分析之掐死教程
  11. 【郑州校区】BOS v2.0物流管理平台整体概述
  12. 【流程发现算法概述】
  13. 中科院博士论文《致谢》
  14. Linux下服务器开发的必要准备
  15. Docker常用的命令
  16. CGWallpapers网站不登录下载图片
  17. java实现下载网络图片到本地
  18. linux的lib目录,Linux 目录结构:/lib 分析
  19. r+w+无法写入/读取文件:w+和r+的根本区别
  20. 网页导航栏的设计原则和注意事项

热门文章

  1. 【一起入门MachineLearning】中科院机器学习-期末题库-【选择题13,14,15,16,17,26,27,65+多选题11,22+简答题2】
  2. 边沿检测电路的多种实现
  3. 华为,一口气签约3所大学!
  4. iOS--触碰响应UIResponder UIGestureRecognizer
  5. 美团王兴:8年时间,我对商业的思考
  6. 智慧公路引领时代变革?
  7. 动态规划—1.3 九宫格最短路径
  8. 肺部结节手术风险评估和手术时间预测 相关工作及可行性分析
  9. 如何使用Latex完成标题,摘要,关键词,图片插入,数学公式插入,表格插入等等
  10. 光学仿真案例(1) 铌酸锂非线性波导仿真模拟 FDTD仿真