支付宝 自动发货 php,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程序设计有所帮助。
支付宝 自动发货 php,ecshop支付宝自动发货接口用法示例相关推荐
- 支付宝 自动发货 php,ecshop 支付宝自动发货接口
一.在数据库order_info中添加trade_no字段 SQL语句:ALTER TABLE `ec_order_info` ADD COLUMN `trade_no` varchar(100) ...
- 发货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初始化文件中,默认是做了全局转义的 ...
最新文章
- 最早的神经元从何而来?海绵基因图谱揭示神经系统起源
- Android面试题目(10) 内存泄露
- pl sql developer中如何调试存储过程以及调试包中创建的存储过程
- YBTOJ洛谷P2042:维护数列(平衡树)
- mysql管理节点_MySql节点管理安装步骤需要在SerA和SerB上各做一次
- java从入门到精髓 - IO输入输出
- python html表格模版,python-如何使用模板(例如Jinja2)将列值列表呈现到表中
- 用Python批量下载MOOC资源
- html默认初始代码
- 一、二层交换机构建局域网
- 3*4的方格,有多少个长方形?
- JVM基本原理,简明扼要,通俗易懂
- java项目经理负责做什么的,项目经理JAVA岗位职责
- C++ char*类型的实参与 LPCWSTR类型的形参不兼容
- 数字中国建设意义和面临的挑战
- 疯狂试探mysql单表insert极限:已实现每秒插入8.5w条数据
- codeblocks linux使用教程,codeblocks教程
- PHP intval 与 floatval
- 【小白】SQLyog下载安装配置篇全攻略
- 掌握电商数据的4个要点,电商平台数据分析其实很简单