支付寶手機網頁支付

本節主要描述支付寶手機網站支付,開發網址:https://b.alipay.com/order/productDetail.htm?productId=2013080604609688,光找這個找了半天,呵呵

在網頁中部有四個標籤頁,選擇“技術集成”,下載集成開發包,裏面有相關的技術文檔和三種語言的代碼示例。代碼示例中幾乎集成了所有的代碼邏輯,客戶端及服務端只需要將代碼拷入自己的項目即可。


手機網頁支付產品由手機網頁即時到賬授權接口(alipay.wap.trade.create.direct)、手機網頁即時到賬交易接口(alipay.wap.auth.authandexecute)兩個接口組成。必須先調用手機網頁即時到賬授權接口(alipay.wap.trade.create.direct)獲得授權令牌,再調用手機網頁即時到賬交易接口(alipay.wap.auth.authandexecute)完成付款。

在手機網頁即時到賬授權接口(alipay.wap.trade.create.direct)中,提交方式僅支持POST。在手機網頁即時到賬交易接口(alipay.wap.auth.authandexecute)中,提交方式僅支持GET,在webview中載入交易接口的url和請求參數即會轉入支付寶網頁的支付界面。具體接口和請求參數的說明和使用在開發文檔上已經介紹的很詳細了,如果還有不明白的地方可以直接參考代碼Demo,Java示例可以直接導入到Eclipse中運行起來,可以直接演示整個支付流程。需要注意的地方就是,因爲是手機端網頁接入,在電腦上用瀏覽器演示的時候,會提示"爲保障用戶賬戶安全,禁止非手機訪問",我用的是chrome瀏覽器,直接裝上修改uagent的插件,更改爲Android或其它客戶端ua即可使用。


支付寶處理完請求後,分兩種方式返回處理結果。一種是頁面跳轉同步通知。一種爲服務器異步通知。下面主要講一下這兩種方式的不同。

返回頁面(return_url文件)工作原理 (同步通知)

即:商戶系統請求/支付寶響應交互模式 

1、 構造請求數據 
商戶通過提供的接口代碼示例,通過代碼示例的規則,程序構造與運算得到sign加密結果以及構造後的請求給支付寶的數據集合。GET方式下是URL地址鏈接,POST方式下是支付寶網關地址及參數集合。 
2、 發送請求數據 
把構造完成的數據集合,通過頁面鏈接跳轉或表單提交的方式傳遞給支付寶。 
3、 請求的交易 
支付寶得到這些集合後,會先做安全校驗等驗證,一系列驗證通過後便會處理完成這次發送過來的數據請求。 
4、 返回相應數據 
支付寶對處理完成的交易,程序上自動進行重新構造成URL地址鏈接,以自動跳轉的方式跳回商家在請求時設定好的頁面路徑地址(參數return_url,商家沒設定,則不會跳回)。 
5、 對相應的數據進行處理
商家的返回頁面(參數return_url指定頁面文件)得到支付寶返回的數據,把這些數據結合自身網站情況,進行數據處理(如:訂單更新)。 


返回頁面(notify_url文件)工作原理 (服務器異步通知)

即:支付寶主動通知交互模式(支付寶反饋數據) 

前提:若要支付寶能主動通知,需商戶在請求時設定好通知的頁面路徑(參數notify_url),且該頁面文件完全空白,無任何字符。 
1、 發起通知 
一旦交易狀態發生變更(如:買家已付款,等待賣家發貨),支付寶便會根據自動進行數據處理,並主動調用商戶在請求時設定好通知的頁面路徑(參數notify_url) 
2、 對通知數據進行處理 
商戶網站收到支付寶發送過來的通知數據,把這些數據結合自身網站情況,進行數據處理,如:處理返回頁(參數return_url)漏掉的訂單,做訂單更新,即補單措施。 
3、 在頁面上輸出success 
商戶網站處理完成所有的數據處理以後,即程序運行最後,返回寫頁面“success”7個字符(頁面上只允許輸出success),以表示自己已經成功處理完成自己的業務。 
4、 完成處理該次通知,不再發送通知 
支付寶得到商戶反饋回來的“success”7個字符信息,進行覈對與驗證,結束此次通知流程。 
注意: 
如果商戶反饋給支付寶的字符不是success7個字符,支付寶服務器會不斷重發通知,直到超過24小時22分鐘。一般情況下 25 小時以內完成次通知(通知的間隔頻率一般是:2m,10m,10m,1h,2h,6h,15h)。  

同步返回(return_url)和異步返回(notify_url)的區別【return_urlnotify_url參數必須是兩個返回處理文件的絕對路徑】?
答:同步返回處理(return_url):是一種可視化的返回,瀏覽器頁面跳轉通知,只要支付成功,支付寶通過get方式跳轉到這個地址,並且帶有參數給這個頁面。客戶獲取信息受到買家操作的影響。如果買家支付完
成後客戶服務器響應比較慢,買家在顯示支付寶提示的即時到賬支付成功時關閉頁面,那麼客戶網站是獲取不到信息,我們這邊稱爲掉單。而且這個返回處理是一次性調取,即支付成功後才調取同步返回處理。
異步返回處理(notify_url):它的數據交互是通過服務器間進行數據交互,必須將其放置在服務器上(公網)測試,服務器post消息到異步返回處理頁面,需要客戶技術在異步返回處理頁面處理相關的數據處理
,然後每一步操作都要返回給支付寶success(不能包含其他的HTML腳本語言,不可以做頁面跳轉。)這個返回處理如果集成OK,那麼基本不會出現掉單,因爲支付寶會在24小時之內分6~10次將訂單信息返回
個給客戶網站,直到支付寶捕獲success
備註:同步返回處理則會受到買家操作的影響:
假如買家在操作的時候,支付寶完畢進入支付寶提示成功頁面,這個時候由於服務器相應比較慢,那麼買家有可能會關閉這個頁面,這個時候您們就會接受不到支付寶返回的信息,還有有些網銀支付後也不會調取支付寶的同步返
回處理頁面,這樣您在同步做數據處理同樣接受不到數據。


發佈了75 篇原創文章 · 獲贊 9 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章