在線支付開發流程總結

 原文地址:http://www.douban.com/note/223773046/?start=0&post=ok#last

經過這段時間對支付寶在線支付接口、手機在線支付接口、農業銀行在線支付接口、以及支付寶擔保交易接口的開發,對在線支付的原理有了一定的瞭解,開發過程中有點小的心得體會,在這裏記錄一下。


  首先,這幾個接口中,前面三個都是單一的支付接口,對於需要集成的商戶而言,所需要做的工作爲:集成支付功能使用戶可以在線支付,接受支付結果進行商戶系統中訂單相關數據的處理。其次,擔保交易接口是一個完整的在線擔保體系,因此包含了在線支付、確認收貨、在線申請退款、客戶維權、商戶退款五個相關接口。關於具體的功能可以參考支付寶提供的文檔資料,這裏僅進行技術開發上的分析。


  其實這些在線支付的接口從原理上來講都是一樣的。這裏簡單地闡述一下:
  1.首先,開發這些接口的第三方公司會給商戶提供一個唯一標識pid,而且與該標識相對應的會有一個KEY,雙方使用這個KEY作爲加密的密鑰。
  2.其次,商戶使用接口的時候,根據不同支付方的開發文檔的要求,將所需要的參數(訂單的相關信息如:金額、商品等)拼接成相應的形式。在發送請求之前需要對數據進行加密,而加密的方式會由支付方提供,文檔中會有相應的描述,有的接口也會提供現成的方法供商戶使用。加密後就可以調用接口向支付網關發送請求了。 注:傳遞的參數中一般含有return_url 和 notify_url 兩個鏈接地址,商戶一般在這兩個頁面中寫入訂單狀態處理的邏輯。
  3.最後,是對於支付結果的處理。支付方在對相應的資金進行處理後會給發送請求的商戶網站發送響應。這裏有兩種方式:1、頁面通知(同步通知,return_url),用來顯示給實際支付的客戶,支付方只返回一次。2、服務器通知(異步通知,notify_url),運行在後臺,實際在線支付的客戶看不到,支付方會在一定時期內發送多次,直到收到商戶程序反饋的約定好的標識爲止。具體的原理如圖1和圖2所示(這裏借用支付寶的原理圖^_^)。
  這樣,整個在線支付接口就完成了商戶和支付方的信息的交互。
 
圖1 返回頁面(return_url.jsp)工作原理
圖1 返回頁面(return_url.jsp)工作原理


 
圖2 通知頁面(notify_url.jsp)工作原理
圖2 通知頁面(notify_url.jsp)工作原理


  商戶開發人員在實際集成接口的時候可以遵循如下工作步驟:
  1、熟悉在線支付接口的工作原理。
  2、仔細閱讀支付方提供的開發文檔。
  3、運行支付方提供的demo,結合開發文檔理解工作原理。
  4、集成接口,加入相關的業務邏輯。

  對於像擔保交易這樣關係複雜的接口,可以分開理解成獨立的接口,然後結合商戶自身情況,從業務數據上進行關聯。
  在進行接口調試及測試的時候,因爲中間debug信息很難收集到,尤其是服務器通知模式的情況下。因此可以加入日誌的輸出功能,這樣一次操作完成後,分析產生的日誌,可以極大的簡化調試的難度。測試時候如果支付方未提供相應的測試網關,可以採用支付0.01元的方式,多次進行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章