天天看點

調用支付寶接口android最新,Android 外接sdk之支付寶

支付寶開放平台 最新sdk可以通路開放平台進行下載下傳。

以下為流程和注意事項。

1.名詞簡介

請求    手機用戶端以字元串形式把需要傳輸的資料發送給接收方的過程。

傳回     支付寶以字元串形式直接把處理結果資料傳回給手機用戶端。

通知     伺服器異步通知。支付寶根據得到的資料處理完成後,支付寶的伺服器主動發起通知給商戶

的網站,同時攜帶處理完成的結果資訊回報給商戶網站。

敏感詞     帶有敏感政治傾向、暴力傾向、不健康色彩或不文明的詞。

2.準備工作

商戶簽約和密鑰配置。

3.SDK內建流程

解壓alipay_lib.zip,将解壓出來alipay_lib拷貝到Eclipse workspace,通過Eclipse

import 該工程,并在此工程的Properties->Android中選中為library 工程。

将alipay.jar複制至商戶應用工程的libs目錄下,通過Java Build Path導入進工程。

4.修改Manifest

android:name="com.alipay.android.app.sdk.WapPayActivity"

android:screenOrientation="portrait">

5.訂單資料生成

在調用快捷支付SDK時,需要送出訂單資訊info,其中參數以key=”value”形式呈

現,參數之間以“&”分割,所有參數不可缺。

6.接口調用

擷取Alipay支付對象調用支付,此接口方法實作為同步調用,将阻塞商戶應用UI

線程,是以調用此接口需啟動新線程,并使用looper 為main looper的Handler

對象與UI線程傳遞消息。

7.支付結果擷取和處理

調用pay方法支付後,将通過2種途徑獲得支付結果:

同步傳回

商戶應用用戶端擷取pay( )傳回的字元串資訊,在應用内直接處理支付結果。

異步通知

商戶需要提供一個http協定的接口,包含在參數裡傳遞給快捷支付,即notify_url。

支付寶伺服器在支付完成後,會以POST方式調用notify_url,以xml資料格式傳

輸支付結果。

8.如何獲得PID與密鑰

使用簽約支付寶賬号登入“商家服務”平台中的“我的商家服務”,點選“查詢PID、Key”,即可檢視到簽約支付寶賬号、合作者身份ID(PID)的資訊。輸入支付密碼,查詢key。

9.RSA密鑰生成與使用

打開openssl檔案夾下的bin檔案夾,執行openssl.exe檔案,輸入“genrsa -out

rsa_private_key.pem

1024”指令,回車後,在目前bin檔案目錄中會新增一個rsa_private_key.pem檔案,其檔案為原始的商戶私鑰(請妥善保

存該檔案,PHP開發語言中需要使用該檔案)

10.生成RSA公鑰

輸入“rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem”指令回車

後,在目前bin檔案目錄中會新增一個rsa_public_key.pem 檔案,其檔案為原始

的商戶公鑰(請妥善儲存該檔案,PHP開發語言中需要使用該檔案)

11.生成PKCS8編碼的私鑰

輸入指令“pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM

-nocrypt”并回車,儲存到一個文本檔案,可随意命名,隻要知道這個是PKCS8格式的私鑰即可(請

妥善儲存該檔案)

12.RSA密鑰使用邏輯:

商戶在使用RSA簽名方式的支付寶接口時,真正會用到的密鑰是商戶私鑰與支付

寶公鑰。商戶上傳公鑰給支付寶,支付寶把公鑰給商戶,是公鑰互換的操作。這就

使得商戶使用自己的私鑰做簽名時,支付寶端會根據商戶上傳的公鑰做驗證簽名。

商戶使用支付寶公鑰做驗證簽名時,同理,也是因為支付寶用支付寶私鑰做了簽名。

13.業務資料傳遞

支付寶提供的業務參數為支付寶需要商戶傳遞過來的資料要求。商戶隻需要根據自

己的業務需求,在業務邏輯代碼運作時把這些動态資料以指派給變量的形式,再通

過支付寶接口本身的接口邏輯,傳遞給支付寶系統,讓支付寶系統可識别。

舉例說明,商戶要把某筆訂單的資料傳遞給支付寶。那麼商戶需要先根據支付寶的

參數要求,從自己的下單系統中拿到付款總金額(total_fee)、商戶的訂單号

(out_trade_no)、訂單名稱(subject)等資料,再把這些資料一個一個以值的形

式賦給對應的變量。再通過代碼邏輯,把變量組合及加工成一次可以發送給支付寶

的請求。

注意事項:傳遞參數之前必須對參數進行簽名,就是調用sign方法,再加一些參數進行傳送,務必厘清哪些參數應該簽名。

如有問題請留言,轉載注明出處。