隨著 HarmonyOS 的快速發展,支付寶也推出了支持 HarmonyOS 版本的 SDK。
具體的操作可以看支付寶官方文檔,地址為:
https://opendocs.alipay.com/open/01ysmx
集成第三方 SDK 是程序員的一個基本必備能力,特別是像支付寶這樣的官方文檔介紹都很明確,看 SDK 文檔是程序員的基本能力,本篇博客還是會概述下集成基本流程,然后重點梳理其中的問題。
首先訪問支付寶的官方平臺螞蟻金服開放平臺,網址為:
https://open.alipay.com/platform/home.htm
然后用自己的支付寶登錄并認證為開發者,認證的時候要錄入自己的相關個人信息,這里不多說如何認證,簡單的“下一步”傻瓜式操作。
接著在平臺首頁依次點擊“文檔中心”進入查閱相關的 Android 集成的開發文檔,接著下載集成支付寶的 SDK 和 demo。
在進行支付寶接入的時候,需要企業用戶(也就是說需要營業執照,統一社會信用代碼等信息去進行注冊),那么個人開發愛好者就沒法做正式支付寶的開發接入了。
但是支付寶后來推出了沙箱模式,一來可以方便項目開發期間進行測試,二來個人用戶也可以熟練下支付寶繼承的操作。
非常遺憾的是,目前我在開發的時候發現,鴻蒙版本的 SDK 并不支持沙箱模式(還不確認是我自己的問題還是官方的問題,官方沒有找到是否支持沙箱的說明),該問題我還在想辦法給阿里和華為進行反饋。
下面以沙箱環境開發進行案例講解:
①登錄開發者平臺進入沙箱頁面(前提是已經完成開發者認證):
https://open.alipay.com/platform/manageHome.htm
點擊紅色區域標注的“沙箱”,進入之后的界面如下:
這里有時會報個數據出錯,沙箱環境不是很穩定,多刷新幾次,阿里會定期進行維護,實在不行過段時間再操作。
此時,就可以獲得相應的 APPID,商戶 ID 等信息,此時在沙箱環境下只用配置個 RSA 秘鑰。
②RSA2(SHA256)密鑰生成方法
工具下載:
https://doc.open.alipay.com/docs/doc.htm?treeId=291&articleId=106097&docType=1
解壓后,WINDOWS 版本雙擊文件“RSA 簽名驗簽工具 .bat”即可運行工具;Mac 版本雙擊文件 “RSA 簽名驗簽工具 .command”即可運行工具。
生成密鑰:快速生成 RSA 私鑰公鑰。
選擇密鑰格式,選 PKCS1 格式生成的私鑰為非 Java 開發語言使用;選 PKCS8 格式生成的私鑰為 Java 開發語言使選擇密鑰長度,生成 2048 位的 RSA 私鑰。
設置 RSA2:點擊之后,如下:
將之前生成的公鑰復制進來,然后點擊保存即可。
注意:公鑰私鑰不要頻繁用工具生成,每次生成都會不一樣,那么重新生成后請重新進此頁面修改公鑰。公鑰和私鑰是一對,一定要保持一致,后面會在服務端和 App 中使用到私鑰。
③下載沙箱版錢包 App,支付寶會提供測試賬號,里面有余額
如下圖:
掃碼下載即可。
在手機上安裝好沙箱版支付寶之后,用上圖中的賬號密碼進行登錄。
④官方 demo 下載
下載官方的 demo:
https://gw.alipayobjects.com/os/bmw-prod/2d42c098-ce3a-4819-9d83-1bfaa6c00a43.zip
下載的官方 demo 代碼結構如下:
導入到 DevEco Studio 中,然后配置 app 簽名和密鑰等參數。
⑤代碼說明
我并沒有直接使用官方 demo,而是自己重新創建了一個工程,然后引入官方 demo 中的相關核心代碼。我的工程源碼可以在附件中進行下載。
導入 SDK:
添加依賴:
implementation files(‘libs/alipaysdk-harmony-15.8.01-9adcf86.har’)
注意:雖然這里已經引入了 libs 下的所有 har 庫,但是如果不單獨再引入支付寶 sdk 的依賴的話,在編寫代碼的時候會出現 api 的標紅,并且沒有 api 的聯想,盡管最后編譯運行不會報錯。
在真機上運行調試,配置簽名信息,如果您希望在鴻蒙真機上運行 Demo,則需要先在 Project 以及 Module 的 build.gradle 中配置調試簽名:
您也可以使用 IDE 自帶的簽名設置界面完成配置,請參考 HarmonyOS 文檔 - 使用真機進行調試 :
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#ZH-CN_TOPIC_0000001057215892__section837891802519
調試簽名的獲取流程,請參考 AppGallery 文檔 - 調試 HarmonyOS 應用:
https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-harmonyapp-debugharmonyapp
修改 PayDemoActivityC 中的 APPID 和 RSA2_PRIVATE:這個 APPID 就是之前沙箱環境中的那個 APPID(如果是正式的商業環境是自己創建的應用 APP 的 APPID),RSA2_PRIVATE 就是自己之前用工具生成的私鑰。
正式環境中該私鑰一定不要放到app里面,而是通過服務器生成。
按照 Android 版本支付寶 SDK 在沙箱環境下的運行做法,還需要添加如下代碼(商業環境千萬不要加)啟用沙箱環境,否則無法調起支付寶沙箱版本錢包。
此時問題來了,目前鴻蒙版本 sdk,如果加了這句代碼,那么無法調用起來支付寶沙箱版本錢包,也無法調用起來正式版本的支付寶 app。
而是直接提示報錯,報錯截圖如下:
下圖是我在鴻蒙真機上安裝的各個 app,快捷支付這個就是我開發的 demo,然后安裝了個正式版支付寶 app 和沙箱版 app。
如果去除掉 EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX)這行代碼,那么是可以調起來正式版本的支付寶的。
那么此時就需要正式版的 APPID 和密鑰,這個是需要營業執照去認證的,由于本人沒有申請商用版本的密鑰,就沒有經過后續測試了。
責任編輯:haq
-
鴻蒙系統
+關注
關注
183文章
2636瀏覽量
66399 -
HarmonyOS
+關注
關注
79文章
1977瀏覽量
30262
原文標題:支付寶SDK適配鴻蒙系統!
文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論