门童网,靠谱的在线交易网站 会员购买 自助广告购买 帮助 每日签到

源码交易平台

商品禁止做非法 传播 学习之用 只是借鉴
;

ecshop支付宝自动发货接口用法 教材来源门童网视频教程

本站优惠价
5.00
无折扣 原价:¥0
  • 库存
  • 销量
  • 10000
  • 0
担保交易,安全保证,有问题不解决可申请退款。
  • 分享

源码森林之都

  • 信誉:
  • 掌柜:
  • 我的可乐瓶
  • 宝贝:
  • 32993件
  • 创店:
  • 2019-05-02
  • 联系:
已缴纳保证金1000.00
  • 描述
    4.99
  • 发货
    5.00
  • 售后
    4.99
源码交易网

教材来源门童网视频教程

这篇文章主要介绍了ecshop支付宝自动发货接口用法,结合实例形式分析了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 emplatesdelivery_info.htm文件

查找:

代码如下:

<form action="order.php" method="post" name="theForm">

替换:

代码如下:

<form {if $alipay}onSubmit="this.target='_blank';this.action='alipay_delivery.php';
this.submit();this.target='_self';this.action='order.php'"{else}action="order.php"{/if} method="post" name="theForm">

六、 上传alipay_delivery.php文件到admin 目录下.

希望本文所述对大家基于Ecshop程序设计有所帮助。



  • 商品问答
  • 交易规则

84301461640083.jpg

联系我们
Q Q:2303259007
邮箱:mentongwang@163.com
时间:09:00 - 19:00
源码交流群:972275425门童网交流①群