商家後臺爲何沒有收到交易通知?

緣由:
通知頁面文件(參數notify_url對應的頁面文件)因爲程序拋出異常、頁面文件沒法訪問等緣由導致通知頁面中的程序沒有執行完畢

檢查方法:
檢查服務器異步通知頁面(參數notify_url對應的頁面文件)

第一步: 檢查notify_url頁面文件
A:合做身份者ID和安全校驗碼是否設置正確,且沒有空格,沒有填反。
B、notify_url的路徑互聯網上須要可以訪問獲得,確保訪問到該頁面時,頁面沒有爲空白或開發軟件自帶系統提示錯誤信息
C、請求參數show_url、return_url、notify_url不要帶自定義參數,如:
http://www.xxx.com/alipay/return_url.asp?id=123
?id=123,「?」之後帶的參數都是自定義參數
D、檢查編碼格式是否設置正確
檢查亂碼的方法,可用寫日誌函數來記錄中文部分的數據是否亂碼。若是亂碼則肯定是編碼格式設置不一致,致使亂碼。具體請檢查編碼格式參數input_charset、頁面屬性編碼、網站項目總體編碼等,確保傳遞數據時沒有亂碼。
E、notify_url頁面裏,有且只有輸出success,且必須保證爲空白頁面,無任何HTML標籤、空格、回車換行等字符。
各開發語言輸出success代碼:
ASP.NET:Response.Write("success");
ASP:response.write "success"
PHP:echo "success";
JAVA:out.println("success");
F、notify_url頁面中不要有seesion或cookies,不要作頁面自動跳轉

第二步: 檢查服務器配置(如下爲參考檢查方向)
A、服務器是否開啓寫入權限
B、DNS解析,是否可以解析支付寶IP。
C、防火牆是否有攔截
D、端口443或80是否有開啓,且不是假死狀態,也沒有被佔用
E、 服務器的IP地址是否有作過更換,若是有作過更換,則請把notify_url頁面文件重命名,參數notify_url的值也一併更新。

第三步: 調試
A、檢查程序運行到alipay_notify文件的notify_verify()函數中,在mysign與sign是否相等的判斷與responseTxt是否爲true(PHP代碼:$veryfy_result)的判斷這兩個判斷上是哪一個判斷驗證未經過。
sign與mysign不等的狀況有:
安全校驗碼(參數key)設置有錯誤、參數格式設置錯誤與編碼亂碼(見第一步)
responseTxt不是true的狀況有:
合做身份者ID(參數partner)設置有錯誤、服務器配置(見第二步)、頁面跳轉返回的地址欄裏的連接超過1分鐘的有效時間
B、在調試notify_url頁面時,必須把接口放置在服務器裏作調試
C、檢查程序運行到商戶網站本身編寫的業務邏輯處理程序代碼段時,斷點調試或使用寫日誌函數(函數名:log_result)逐行檢查代碼,監控各個參數變量

注意:
商戶網站中對這筆交易作了屢次處理(如付了一次錢,卻反覆充值屢次)這類狀況,按照解決方法修正了商戶網站的程序或服務器後,請務必在頁面跳轉同步通知頁面文件(return_url)與服務器異步通知頁面文件(notify_url)中,在商戶的業務邏輯處理的程序代碼執行以前,必定要先判斷該次處理是否已經被作過相同的處理(即,該筆交易在已經付過款後,商戶網站裏的訂單是否已經作過訂單更新),如:是否已經爲會員充值過一次。沒有作過相同的處理,才執行下面的程序。

"若是您依照以上方法還沒法解決,可提交集成申請,咱們的技術支持會及時與您聯繫,協助您解決。
申請地址: https://b.alipay.com/support/helperApply.htm?action=supportHome "
相關文章
相關標籤/搜索