给支付宝接口增加收货地址等参数,跳转到支付页不需再次填写地址 ...

更新时间:2014-06-13 点击量:6590

适用范围:适用于中介担保支付(2.7版本)

官方的支付宝接口里没有挂地址,收货人,邮编等参数,从而到了支付页面还要填写一遍地址,收货人,比较的麻烦

增加地址,收货人参数后就不再重复劳动了。

修改以下地方:

1.flow.php

找到

[代码]php代码:

/* 插入支付日志 */
$order['log_id'] = insert_pay_log($new_order_id, $order['order_amount'], PAY_ORDER);

在其后加入:

[代码]php代码:

/* 取得收货区域(国家/省份/城市等)*/
$order['buyer_region'] = get_buyer_region($new_order_id);

在flow.php文件底部加入如下函数:

[代码]php代码:

/**
* 取得收货地址区域名  2009-11-10
* @param $order_id 订单号
* @return string
*/
function get_buyer_region($order_id){
    /* 取得区域名 */
    $sql = "SELECT concat(IFNULL(c.region_name, ''),IFNULL(p.region_name, ''), " .
                    " IFNULL(t.region_name, ''), IFNULL(d.region_name, '')) AS region " .
                "FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
                    "LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS c ON o.country = c.region_id " .
                    "LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS p ON o.province = p.region_id " .
                    "LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS t ON o.city = t.region_id " .
                    "LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS d ON o.district = d.region_id " .
                "WHERE o.order_id = '$order_id'";
    return $GLOBALS['db']->getOne($sql);
}

2.includes\modules\payment\alipy.php

找到

[代码]php代码:

'seller_email'      => $payment['alipay_account'],

在其后增加如下配置:

[代码]php代码:

/* 收货人,地址信息*/
'receive_name'         => $order['consignee'],
'receive_address'    => $order['buyer_region'].$order['address'],
'receive_zip'    => $order['zipcode'],

ps:地址是urldecode过的

官方原版的支付宝地址如下:

/>
支付宝扫码打赏 微信打赏

如果文章对您有帮助,就打赏一个吧

在线客服

客户服务

热线电话:

13128985956 服务时间:

周一到周六:9:00-18:00

在线QQ客服

在线微信客服

关于我们 常见问题

支付方式 加盟合作

提交需求
优惠红包 购物车0 反馈留言 返回顶部