ECSHOP使用支付宝担保接口必须的,支付宝发货确认接口

ECSHOP 2.71为了支付宝发货确认接口,需要记录支付宝返回的交易号1,在order_info 数据表尾添加trade_no 字段2,在alipay.php文件的约202行/*** 响应操作*/function respond(){if (!empty($_POST)){foreach($_POST as $key => $data){$_GET[$key] = $data;}}$payment = get_payment($_GET[‘code’]);$seller_email = rawurldecode($_GET[‘seller_email’]);$order_sn = str_replace($_GET[‘subject’], ”, $_GET[‘out_trade_no’]);$order_sn = trim($order_sn);/*自定义————–获取支付宝交易号*/$trade_no = trim($_GET[‘trade_no’]);/* 自定义—end*//* 检查支付的金额是否相符 */if (!check_money($order_sn, $_GET[‘total_fee’])){return false; }。。。。。省略下面接250行处 if ($_GET[‘trade_status’] == ‘WAIT_SELLER_SEND_GOODS’) { /* 改变订单状态 */ order_paid($order_sn, 2,”,$trade_no); return true; }……………………省略在lib_payment.php里面约119行/*** 修改订单的支付状态** @accesspublic* @param string$log_id 支付编号* @param integer $pay_status 状态* @param string$note 备注* @param string$trade_no 自定义—支付宝交易号* @returnvoid*/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, 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’]; /* 修改订单状态为已付款 */ $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,” . ” order_amount = 0,”. ” trade_no = ‘$trade_no'”./*自定义—添加支付宝交易号*/ “WHERE order_id = ‘$order_id'”; $GLOBALS[‘db’]->query($sql); /* 记录订单操作记录 */以下是后台文件修改:1.复制附件文件queren_fahuo.php到admin目录下;(注意编码和支付宝接口方式)2.修改admin/templates/delivery_info.htm文件;第8行左右:<div class=”list-div” ><table width=”100%” cellpadding=”3″ cellspacing=”1″>{if $delivery_order.status neq 1}<form onSubmit=”this.target=’_blank’;this.action=’queren_fahuo.php’; this.submit();this.target=’_self’;this.action=’order.php'” method=”post” name=”theForm”>{else}<form action=”order.php” method=”post” name=”theForm”>{/if} <tr> <th colspan=”4″>{$lang.base_info}</th> </tr>

点击下载文件

在旅途中,我遇见了你,你我相识是缘分!

ECSHOP使用支付宝担保接口必须的,支付宝发货确认接口

相关文章:

你感兴趣的文章:

标签云: