在線支付接口開發總結

通過這段時間對支付寶在線支付接口、手機在線支付接口、農業銀行在線支付接口、以及支付寶擔保交易接口的開發,對在線支付的原理有了必定的瞭解,開發過程當中有點小的心得體會,在這裏記錄一下。
  首先,這幾個接口中,前面三個都是單一的支付接口,對於須要集成的商戶而言,所須要作的工做爲:集成支付功能使用戶能夠在線支付,接受支付結果進行商戶系統中訂單相關數據的處理。其次,擔保交易接口是一個完整的在線擔保體系,所以包含了在線支付、確認收貨、在線申請退款、客戶維權、商戶退款五個相關接口。關於具體的功能能夠參考支付寶提供的文檔資料,這裏僅進行技術開發上的分析。
  其實這些在線支付的接口從原理上來說都是同樣的。這裏簡單地闡述一下:
  首先,開發這些接口的第三方公司會給商戶提供一個惟一標識pid,並且與該標識相對應的會有一個KEY,雙方使用這個KEY做爲加密的密鑰。
  其次,商戶使用接口的時候,根據不一樣支付方的開發文檔的要求,將所須要的參數(訂單的相關信息如:金額、商品等)拼接成相應的形式。在發送請求以前須要對數據進行加密,而加密的方式會由支付方提供,文檔中會有相應的描述,有的接口也會提供現成的方法供商戶使用。加密後就能夠調用接口向支付網關發送請求了。 注:傳遞的參數中通常含有return_url 和 notify_url 兩個連接地址,商戶通常在這兩個頁面中寫入訂單狀態處理的邏輯。
  最後,是對於支付結果的處理。支付方在對相應的資金進行處理後會給發送請求的商戶網站發送響應。這裏有兩種方式:一、頁面通知(同步通知,return_url),用來顯示給實際支付的客戶,支付方只返回一次。二、服務器通知(異步通知,notify_url),運行在後臺,實際在線支付的客戶看不到,支付方會在必定時期內發送屢次,直到收到商戶程序反饋的約定好的標識爲止。具體的原理如圖1和圖2所示(這裏借用支付寶的原理圖^_^)。
  這樣,整個在線支付接口就完成了商戶和支付方的信息的交互。
 服務器

圖1 返回頁面(return_url.jsp)工做原理
圖1 返回頁面(return_url.jsp)工做原理



 

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



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

  對於像擔保交易這樣關係複雜的接口,能夠分開理解成獨立的接口,而後結合商戶自身狀況,從業務數據上進行關聯。
  在進行接口調試及測試的時候,由於中間debug信息很難收集到,尤爲是服務器通知模式的狀況下。所以能夠加入日誌的輸出功能,這樣一次操做完成後,分析產生的日誌,能夠極大的簡化調試的難度。測試時候若是支付方未提供相應的測試網關,能夠採用支付0.01元的方式,屢次進行。異步

相關文章
相關標籤/搜索