支付寶支付返回通知時 notify_url和return_url的選擇


頁面跳轉同步通知頁面特性(return_url特性)

  1. 買家在支付成功后會看到一個支付寶交易提示成功的頁面,該頁面會停留幾秒,然后會自動跳轉回商戶指定的同步通知頁面(參數return_url)
  2. 該頁面中獲得參數的方式,需要使用GET方式獲取,如request.QueryString("out_trade_no")、$_GET['out_trade_no']
  3. 該方式僅僅在買家付款完成以后進行自動跳轉,因此只會進行一次
  4. 該方式不是支付寶主動去調用商戶頁面,而是支付寶的程序利用頁面自動跳轉的函數,使用戶的當前頁面自動跳轉;
  5.  基於(4)的原因,可在本機而不是只能在服務器上進行調試;
  6. 返回URL只有一分鍾的有效期,超過一分鍾該鏈接地址會失效,驗證則會失敗;
  7. 設置頁面跳轉同步通知頁面(return_url)的路徑時,不要在頁面文件的后面再加上自定義參數。例如:

    錯誤的寫法:<http://www.alipay.com/alipay/return_url.php?xx=11>

    正確的寫法:<http://www.alipay.com/alipay/return_url.php>

服務器異步通知頁面特性(notify_url特性)

  1. 必須保證服務器異步通知頁面(notify_url)上無任何字符,如空格、HTML標簽、開發系統自帶拋出的異常提示信息等;
  2. 支付寶是用POST方式發送通知信息,因此該頁面中獲取參數的方式,如:

    request.Form("out_trade_no")、$_POST['out_trade_no']

  3. 支付寶主動發起通知,該方式才會被啟用

  4. 只有在支付寶的交易管理中存在該筆交易,且發生了交易狀態的改變,支付寶才會通過該方式發起服務器通知(即時到賬中交易狀態為“等待買家付款”的狀態默認是不會發送通知的);

  5. 服務器間的交互,不像頁面跳轉同步通知可以在頁面上顯示出來,這種交互方式是不可見的;

  6. 第一次交易狀態改變(即時到賬中此時交易狀態是交易完成)時,不僅頁面跳轉同步通知頁面會啟用,而且服務器異步通知頁面也會收到支付寶發來的處理結果通知;

  7. 程序執行完后必須打印輸出“success”(不包含引號)。如果商戶反饋給支付寶的字符不是success這7個字符,支付寶服務器會不斷重發通知,直到超過24小時22分鍾。

    一般情況下,25小時以內完成8次通知(通知的間隔頻率一般是:2m,10m,10m,1h,2h,6h,15h);

  8. 程序執行完成后,該頁面不能執行頁面跳轉。如果執行頁面跳轉,支付寶會收不到success字符,會被支付寶服務器判定為該頁面程序運行出現異常,而重發處理結果通知;

  9. cookies、session等在此頁面會失效,即無法獲取這些數據;

  10.  該方式的調試與運行必須在服務器上,即互聯網上能訪問;

  11. 該方式的作用主要防止訂單丟失,即頁面跳轉同步通知沒有處理訂單更新,它則去處理;

  12. 通知ID(參數notify_id)只有一分鍾有效期,超過一分鍾該次通知會驗證失敗。一旦驗證成功下次再驗證就會失效。

 

         notify_url是支付寶模擬post數據給你,只要狀態改變就會post給你

        return_url是跳轉,用戶付款后跳轉到你的頁面.只有第一次會通知你,以后不會了.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM