Android 外接sdk之支付寶

支付寶開放平臺 最新sdk能夠訪問開放平臺進行下載php

如下爲流程和注意事項。android

1.名詞簡介web

請求 手機客戶端以字符串形式把須要傳輸的數據發送給接收方的過程。
返回 支付寶以字符串形式直接把處理結果數據返回給手機客戶端。
通知 服務器異步通知。支付寶根據獲得的數據處理完成後,支付寶的服務器主動發起通知給商戶
的網站,同時攜帶處理完成的結果信息反饋給商戶網站。
敏感詞 帶有敏感政治傾向、暴力傾向、不健康色彩或不文明的詞。服務器

2.準備工做app

商戶簽約和密鑰配置。異步

3.SDK集成流程oop

解壓alipay_lib.zip,將解壓出來alipay_lib拷貝到Eclipse workspace,經過Eclipse 
import 該工程,並在此工程的Properties->Android中選中爲library 工程。網站

將alipay.jar複製至商戶應用工程的libs目錄下,經過Java Build Path導入進工程。ui

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)等數據,再把這些數據一個一個以值的形 式賦給對應的變量。再經過代碼邏輯,把變量組合及加工成一次能夠發送給支付寶 的請求。

相關文章
相關標籤/搜索