给支付宝接口增加收货地址等参数,跳转到支付页不需再次填写地址 ...
更新时间:2014-06-13 点击量:6590
Tag关键词: 支付 ecshop模板 ecshop4.0模板 二次开发 ecshop3.6模板 ecshop小程序
官方的支付宝接口里没有挂地址,收货人,邮编等参数,从而到了支付页面还要填写一遍地址,收货人,比较的麻烦
增加地址,收货人参数后就不再重复劳动了。
修改以下地方:
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过的
官方原版的支付宝地址如下:
/>
如果文章对您有帮助,就打赏一个吧