1. 程式人生 > >Android開發中的第三方支付SDK的接入與使用(支付寶+微信支付+銀聯)

Android開發中的第三方支付SDK的接入與使用(支付寶+微信支付+銀聯)

支付寶微信銀行卡支付SDK接入

支付寶支付:

一.  繫結前提:

  1. 我們自己要和支付寶簽約(商戶簽約).-->運營完成
  2. 祕鑰配置-->協助運營完成祕鑰的配置(公鑰互換),可能程式設計師會參與
  3. 整合支付寶-->必須是程式設計師去做

二.  繫結步驟

整合呼叫支付寶介面進行支付的步驟:

1.  將商戶ID,收款帳號,外部訂單號,商品名稱,商品介紹,價格,通知地址封裝成訂單資訊

2.  對訂單資訊進行簽名

3.  將訂單資訊,簽名,簽名方式封裝成請求引數

4.  呼叫pay方法。

三.支付完成.返回交易結果:

1.        支付結果作為介面返回的字串返回。返回的引數包含在result字串中,具體再進行解析。

2.  支付寶伺服器通知。商戶需要提供一個http協議的介面,包含在引數裡傳遞給安全支付,即notify_url。支付寶伺服器在支付完成後,會用POST方法呼叫notufy_url,以xml為資料格式傳輸支付結果。

具體參考支付寶開發文件或者連結如下:

http://blog.163.com/benben_long/blog/static/19945824320142279427395/

注意:

1.    新增android.permission.INTERNET許可權和android.permission.ACCESS_NETWORK_STATE許可權

二.微信支付

與支付寶類似,運營人員註冊獲取支付功能,得到平臺給的APPID、APPsercet、以及商戶平臺上設定的APP_key

繫結支付步驟

1.註冊registerApp
2.獲取token 
3.獲取prepayid
4.呼叫sendReq

二.   服務端簽名,安卓客戶端具體操作如下:
1.把Constants.java,MD5.java,PayActivity.jav,util.java拷貝到專案下,複製wxapi/WXPayEntryActivity.java到專案下;
2.修改微信開放平臺中後臺的包名和簽名,可以用騰訊開放平臺的簽名工具獲取簽名Gen_Signature_Android.apk
(1)AndroidManifest.xml中package名字和專案包名一樣;
(2)AndroidManifest.xml中新增.wxapi.WXPayEntryActivity(不新增,支付成功後無法跳轉到相應的通知Activity介面);
3.具體呼叫參照微信支付開發文件:
       
4.接收支付結果的WXPayEntryActivity中的onResp函式裡處理支付結果:
   

微信支付遇到的問題:

微信遇到的具體問題:
1.在demo中找不到APP_KEY,郵箱發過來的沒有此引數,對應文件找到是PaySignKey;
2.測試返回的支付結果是-1,可能產生此問題的地方:包名不一致;應用簽名和後臺不一致。
3.如果是客戶端demo測試,記得注意價格單位是分(呼叫失敗),body是中文的時候需要字元轉換(返回錯誤ERR_JSON)。
客戶端demo測試返回支付結果-1,記得刪除微信緩衝資料(設定-》應用程式管理器->選中微信->清除資料)
可以用demo裡的debug.keystore來測試,功能修改目錄:preferences->android->build->custom debugkeystore->browse。

三. 銀行卡支付SDK

銀聯開發者中心連線

前提:下載安卓版銀聯支付開發包

步驟

1.     匯入銀聯支付依賴包

2.     在res目錄下增加資源包

3.     在Manifest檔案配置裡配置開啟的Activity

4.   獲取TN號  2.

5.   請求控制元件介面(PayActivity)   

6.   ActivityResult處理支付結果

PS:完全具體版細節與流程請參照官方開發文件.