看了網上無外乎這三種原因導致:
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。
重新測試支付功能,一切正常。