1. 程式人生 > >Android支付寶支付開發流程

Android支付寶支付開發流程

Android支付寶支付開發流程

需要內容:

賬號資訊:商戶號、商戶收款賬號、商戶私鑰、支付寶公鑰、

支付回撥地址(支付寶請求伺服器地址)

aliPaySDK.jar包、 Base64.java、PayResult.java、SignUtils.java

開發步驟:

1、jar包,上訴三個java類拷入專案,將jar包AddLibrary

2、在清單檔案中新增許可權

<!-- 支付寶支付許可權--><uses-permission android:name="android.permission.INTERNET" /><uses-permission android

:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3、選擇商品下單,對訂單資訊簽名

   此步驟最好在伺服器端執行,請求伺服器返回:

getSignOrderFromServer();

也可在客戶端執行

3.1 使用當前時間+隨機數生成訂單id(保證id唯一)

3.2 使用訂單各資訊,拼接訂單資訊

3.3 對訂單資訊簽名

// 建立訂單idorderId = getOutTradeNo();// 建立訂單資訊orderInfo = getOrderInfo(goodsName, goodsDetails, price);// 簽名String sign = sign(orderInfo);

try {// 僅需對sign URL編碼sign = URLEncoder.encode(sign

, "UTF-8");} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}orderInfo = orderInfo + "&sign=\"" + sign + "\"&" +getSignType();

4、用簽名過得訂單資訊orderInfo,調起支付寶支付介面,並獲得支付結果

   注意:應開啟子執行緒執行此操作

PayTask alipay = new PayTask((Activity) context);final String result = alipay.pay(orderInfo);PayResult payResult = new PayResult(result);// 支付寶返回此次支付結果及加簽,建議對支付寶簽名信息拿簽約時支付寶提供的公鑰做驗籤String resultInfo = payResult.getResult();

String resultStatus = payResult.getResultStatus();

5、對支付結果判斷及邏輯處理

resultStatus == 9000        :支付成功

resultStatus == 8000        :支付中

resultStatus == 其他        :支付失敗

6、請求伺服器,驗證支付是否成功。都成功,則此次支付成功,有一方未成功,則支付失敗。

7、完成!

支付流程圖: