本文主要讲述的是Ecshop实现支付宝自动发货功能,结合实例形式分析了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 (!emptyempty($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 && !emptyempty($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 目录下.

以上就是西部数码小编带来的Ecshop实现支付宝自动发货功能的全部内容,希望本文所述对大家基于Ecshop程序设计有所帮助。

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点!

本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

支付宝 自动发货 php,Ecshop实现支付宝自动发货功能相关推荐

  1. 支付宝支付之“单笔转账到支付宝账户接口”的调用(生成签名、上传应用公钥、下载SDK、接口调用、报错自动排查、查看错误码)

    支付宝接口调用 "单笔转账到支付宝账户"的接口调用,一般涉及到下面几个知识点 1.生成签名 在使用支付宝接口的时候,需要使用支付宝的签名,这里需要使用支付宝的RSA生成工具. 关于 ...

  2. 苹果手机如何关闭自动续费_微信支付宝一键关闭自动续费

    据中国消费者报报道,现在许多视频.音乐等App都有会员充值服务,其中不少是"自动续费",有时候时间长了就忘了,也有的"隐藏得太深"被动"就缴了费... ...

  3. WPS会员如何取消自动续费?微信/支付宝/WPS共3种方法

    ​​WPS 开启会员模式之后还是非常好用的,老古这些年就一直使用 WPS 会员来办公,不过有些用户不想花钱购买会员了就想取消 WPS 会员的自动续费功能,那么应该如何取消呢?今天老古就简单说一下微信. ...

  4. 怎么关闭苹果手机自动扣费_iPhone 关闭支付宝自动扣费服务提示“无法解约”怎么办?...

    有很多 iPhone 用户会通过支付宝购买应用.订阅服务或在应用内购买,当不想再使用支付宝.或为了防止盗刷,可以前往支付宝"设置"-"支付设置"-"免 ...

  5. python支付宝自动收能量_守护支付宝的财产,使用Python实现定时自动化收取蚂蚁森林能量...

    Python 兄弟姐妹们谁年轻是没有玩过农场,牧场游戏,现在有了蚂蚁森林,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁 ...

  6. php 库存自动减少,ECSHOP付款后自动减少库存功能

    ecshop默认只有下订单时和发货时,在用户拍了而没确认订单就减少库存,是不合理的机制,也不能满足各种客户需求.因此ECSHOP插件网提供付款后自动减少库存插件,在用户下单付款后自动减少商品库存,满足 ...

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

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

  8. 发货100个人虚拟商品自动发货系统PHP源码

    介绍: 发货100个人虚拟商品自动发货系统PHP源码,无需支付接口后台上次收款码即可 上传源码到根目录打开域名即可进入安装页面 网盘下载地址: https://zijiewangpan.com/N6I ...

  9. [ECSHOP] 终于解决ECSHOP的购物车自动清空问题,改善会员体验

    [ECSHOP] 终于解决ECSHOP的购物车自动清空问题,改善会员体验 作者:magentoon    2013-9-5 13:44  查看: 2831|回复: 0   ECSHOP程序的购物车会自 ...

最新文章

  1. 在ubuntu 12.04 x64下编译hadoop2.4
  2. Bailian4040 买书问题【Ad Hoc】
  3. vscode中控制台不能输入_vscode控制台不能输入怎么办
  4. 统计学习(一):数据的组织和表示
  5. UI动画的一些制作过程
  6. 系统性能评价的关键指标指标
  7. android 获取堆栈地址,Android查看activity的任务堆栈
  8. csuacm H - 爬楼梯
  9. 防止其他域名指向你的服务器的一种方法
  10. 深入了解Xcode 7——代码编辑
  11. (个人)VR实时交互的太极拳学习系统创新实训第一周(2)
  12. netstat -ano|findstr
  13. 0-1背包问题—回溯算法—java实现
  14. Python实现飞机大战-第二部分(附源码、素材、超详细教程)
  15. FAQ-NE40E BGP邻居状态中的no neg代表什么含义
  16. BUG克星:几款优秀的BUG跟踪管理软件
  17. 开启终端无人化系统配送新格局 YOGO Robot发布Station机器人智能配送站
  18. 高等代数:5 矩阵的相抵与相似
  19. 【优化模型】单服务台负指数分布排队系统分析 — M/M/1模型
  20. web开发天气预报插件

热门文章

  1. 【2020】明哥版-JetBrains旗下常用开发工具教程目录更新中-建议收藏
  2. 华为HCIE云计算培训笔记第4天
  3. 利用Python探测附近WIFI密码的详细代码
  4. 如何屏蔽电脑弹出的广告
  5. 音响店VCD零售/出租系统(软件定义)
  6. 推荐几款基于 Markdown 语法在线制作简历的平台
  7. 鸿蒙系统电视k歌,前沿讯息:华为电视K歌模式 开启当贝音乐 曲库任意选 功能很强大...
  8. uni-app 日历、提醒事项 添加日程和提醒(ios)
  9. speedoffice表格中如何自动求和
  10. P1209 [USACO1.3]修理牛棚 Barn Repair