Android 如何用支付寶實現支付功能

在集成之前,需要了解一些網絡安全方面的知識

網絡安全:

加密技術- 兩種加密方式:
1. 對稱加密算法 如:DES,AES 通過祕鑰加密,解密;加密和解密使用同一個祕鑰
2. 非對稱加密算法(網銀支付) 如:RSA 公鑰加密,私鑰解密,(私鑰加密,公鑰解密,)加密解密使用不同祕鑰

  • 公鑰(客戶端)必要時可被第三方知道,私鑰(服務器)妥善保存,只有自己知道
  • 公鑰互換,實現雙向認證
  • 類似網銀(U盾=客戶端私鑰)

支付寶賬戶

支付寶開放平臺

  1. 註冊(個人賬戶和企業賬戶,建議註冊企業賬戶認證兩天),登陸
  2. 管理中心- 創建應用- 應用名稱(命名規範)- 創建成功後會給我們一個appid,此時還沒未上線
  3. 上線需要添加功能 - app支付
  4. 上線- 完善應用信息(名稱,圖標,應用說明)
  5. 審覈上線,2,3天
  6. 應用環境(加密rsa)

    • 接口加簽方式,在這裏設置應用的公鑰(用密鑰生成器生成)之後,可以看支付寶的公鑰(將來要用)了
  7. (賬戶信息- 合作伙伴密鑰)

支付寶開發(參考Demo)

  1. 下載SDK解壓
  2. 導入sdk的demo先運行試試(上線後才能用)- 需要在PayDemoActivity中配置商戶信息
    • 賬戶及密鑰管理裏有商戶PID,
    • 商戶收款賬號- 也就是支付寶賬號
    • 商戶私鑰pkcs8格式(上面用密鑰生成器生成過了,複製過來就行了)
    • 支付寶公鑰 (在應用環境裏)

集成過程

  1. **生成訂單信息**getOrderInfo(String name,String dec,String price),到demo中複製

    • 生成訂單號(也可以跟服務器商量) 可以到demo中複製該方法
    • 服務器異步通知頁面路徑,(當支付寶支付完成後,會調用此鏈接通知服務器端,由服務器開發 人員設置)
  2. 加密訂單信息sign(String orderInfo)

  3. 拼接符合支付寶規範的訂單信息payInfo

  4. 通過支付串碼,調用支付接口,完成支付,獲取支付結果(異步,handler處理支付結果- 複製demo中的)- 導包

安全問題

  • 商戶信息(私鑰)放在客戶端很不安全,所以應該放在服務器端,由服務器端人員給我們返回支付串碼

  • 我們只需要一個請求接口,上面的前3步都不用我們客戶端做了,簡單吧,哈哈,是不是感覺被坑了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章