1. 云栖社区>
  2. PHP教程>
  3. 正文

官方支付宝接口少了收货人信息的解决办法(PHP)

作者:用户 来源:互联网 时间:2017-12-01 20:39:18

接口解决方案支付宝信息收货人

官方支付宝接口少了收货人信息的解决办法(PHP) - 摘要: 本文讲的是官方支付宝接口少了收货人信息的解决办法(PHP), 官方的支付宝接口里没有挂地址,收货人,邮编等参数,从而到了支付页面还要填写一遍地址,收货人,比较的麻烦,如果能增加地址,收货人参数后就不再重复劳动了。 解决方案如下: 1.flow.php 找到 [代码]php代码: 1 /* 插入支付日

官方的支付宝接口里没有挂地址,收货人,邮编等参数,从而到了支付页面还要填写一遍地址,收货人,比较的麻烦,如果能增加地址,收货人参数后就不再重复劳动了。

解决方案如下:

1.flow.php

找到

[代码]php代码:

1

/* 插入支付日志 */

2

$order['log_id'] = insert_pay_log($new_order_id, $order['order_amount'], PAY_ORDER);

在其后加入:

[代码]php代码:

1

/* 取得收货区域(国家/省份/城市等)*/

2

$order['buyer_region'] = get_buyer_region($new_order_id);

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

[代码]php代码:

01

/**

02

* 取得收货地址区域名  2009-11-10

03

* @param $order_id 订单号

04

* @return string

05

*/

06

function get_buyer_region($order_id){

07

/* 取得区域名 */

08

$sql = "SELECT concat(IFNULL(c.region_name, ''),IFNULL(p.region_name, ''), " .

09

" IFNULL(t.region_name, ''), IFNULL(d.region_name, '')) AS region " .

10

"FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .

11

"LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS c ON o.country = c.region_id " .

12

"LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS p ON o.province = p.region_id " .

13

"LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS t ON o.city = t.region_id " .

14

"LEFT JOIN " . $GLOBALS['ecs']->table('region') . " AS d ON o.district = d.region_id " .

15

"WHERE o.order_id = '$order_id'";

16

return $GLOBALS['db']->getOne($sql);

17

}

2.includes/modules/payment/alipy.php

找到

[代码]php代码:

1

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

在其后增加如下配置:

[代码]php代码:

1

/* 收货人,地址信息*/

2

'receive_name'         => $order['consignee'],

3

'receive_address'    => $order['buyer_region'].$order['address'],

4

'receive_zip'    => $order['zipcode'],

ps:地址是urldecode过的

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

https://www.alipay.com/cooperate/gateway.do?_input_charset=utf-8&agent=C4335319945672464113&logistics_fee=0&logistics_payment=BUYER_PAY&logistics_type=EXPRESS&notify_url=http://127.0.0.1/ecshop/respond.php?code=alipay&out_trade_no=200911105213010&partner=2088002692045431&payment_type=1&price=16.00&quantity=1&return_url=http://127.0.0.1/ecshop/respond.php?code=alipay&seller_email=xiaochong0[email protected]&service=trade_create_by_buyer&subject=2009111052130&sign=8894ebd13e248d043f90a6e0c41b6a68&sign_type=MD5

支付宝的地址就变成如下:

https://www.alipay.com/cooperate/gateway.do?_input_charset=utf-8&agent=C4335319945672464113&logistics_fee=0&logistics_payment=BUYER_PAY&logistics_type=EXPRESS&notify_url=http://127.0.0.1/ecshop/respond.php?code=alipay&out_trade_no=200911105213010&partner=2088002692045431&payment_type=1&price=16.00&quantity=1&receive_address=中国广东深圳南山区竹子林1050号&receive_name=侯琳琳&receive_zip=8126743&return_url=http://127.0.0.1/ecshop/respond.php?code=alipay&[email protected]&service=trade_create_by_buyer&subject=2009111052130&sign=8894ebd13e248d043f90a6e0c41b6a68&sign_type=MD5

原文地址: http://www.php2.cc/article-1505-1.html

以上是官方支付宝接口少了收货人信息的解决办法(PHP)的全部内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有其他相关内容,欢迎继续使用右上角搜索按钮进行搜索接口 , 解决方案 , 支付宝 , 信息 收货人 ,以便于您获取更多的相关知识。