关于支付宝notify_url交易成功没有访问问题

现支付宝的通知有两类。
A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式
B页面跳转通知,对应的参数为return_url,支付宝通知使用GET方式 (通知地址不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址。例如 notify_url=http://www.xxx.com/notify_alipay.asp 注意:www.XXX.com是您网站的域名,也可以用ip地址代替。对于服务器通知,ip地址一定是公网的,私有地址(例如10.2.1.1或者192.168.1.1)支付宝无法通知到客户端)

现在我地网站支付成功后return_url返回成功,但是notify_url失效,完全没有被访问,经过不断排查后来发现官方的文档有这样的一段代码


//页面跳转同步通知页面路径,要用 http://格式的完整路径,不允许加?id=123这类自定义参数
//return_url的域名不能写成http://localhost/create_direct_pay_by_user_php_utf8/return_url.php ,否则会导致return_url执行无效
$aliapy_config['return_url']   = 'http://127.0.0.1/create_direct_pay_by_user_php_utf8/return_url.php';

//服务器异步通知页面路径,要用 http://格式的完整路径,不允许加?id=123这类自定义参数
$aliapy_config['notify_url']   = 'http://www.xxx.com/create_direct_pay_by_user_php_utf8/notify_url.php';

发现这段代码后才知不能带参数,但是同步带参数是没有问题的

我的代码如下

         $this->notify_url = _G('cfg','siteurl') . 'tuan.php'; //?act=pay&ac=notify&api=alipay
        $this->return_url = _G('cfg','siteurl') . 'tuan.php?act=pay&ac=return&api=alipay';

结果总结就是支付宝异步通知不能带参数

posted @ 2011-08-30 15:13  samson1989  阅读(14929)  评论(2编辑  收藏  举报