看了网上无外乎这三种原因导致:
1.参数编码问题
2.参数多余问题
3.网络延时问题
以上三种可以参考这个网站给出的解决办法:http://blog.csdn.net/zj53hao/article/details/24273485
当以上三种都不是的时候可以打开支付宝自带的log调试功能。
我在这里发现了这么一个错误:responseTxt=错误:The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
这个错误大多数是自己服务器配置问题,IE浏览器不能访问https链接问题。然后log一下veryfy_url(即支付宝提供的默认验证方式),然后发现这个链接是https打头的,格式:https://mapi.alipay.com/gateway.do?service=notify_verify&partner=2088xxxxxxxxxxx¬ify_id=xxxxxxxxxxxxxxxxxxxx
这个地址输出true即为验证通过,然后我在IE中直接输入这个链接发现打不开,这个就是问题的根源了。服务器发送这个https请求却拿不到任何结果,默认就验证失败了。
但是链接放到火狐等浏览器中是返回的true。
然后让管理员重装了服务器,再用IE打开这个链接,返回为true。
重新测试支付功能,一切正常。