【FAQ】乾貨滿滿,接入HMS Core應用內支付服務過程中一些常見問題總結(2)來啦

  • 2022 年 4 月 13 日
  • 筆記

HMS Core應用內支付服務(In-App Purchases,IAP)為應用提供便捷的應用內支付體驗和簡便的接入流程。該服務支援客戶端和服務端兩種開發形式,具體可以參考官方文檔

上次,我們分享和總結了有關com.huawei.hmf.tasks.Task/應用伺服器驗證,驗證購買token 失敗等問題。今天小編再次將這段時間開發者們較為關注的一些集成應用內支付服務過程中的問題進行了匯總,並提出解決方案。大家按需取用吧!

目錄

沙盒帳號已正確配置,卻無法進入沙盒環境

哪些場景下會收到訂閱關鍵事件通知cancel

InAppPurchaseData中的payOrderId 和orderId有什麼區別?

如何理解新訂閱在下一個周期才生效?

集成智慧屏帳號、應用內支付等功能,必須在華為智慧屏上進行調試嗎?

1. 沙盒帳號正確配置了,但仍無法進入沙盒環境

沙盒環境測試允許開發者在接入應用內支付服務聯調過程中無需真實支付即可完成端到端的測試。開發者可以在AppGallery Connect中配置測試帳號,並允許這些帳號執行沙盒測試。如果已經進入沙盒環境會有如下頁面提示:

配置沙盒環境的必要條件:

一般而言,開發者需要配置沙盒測試環境帳號和沙盒測試版本。如果測試帳號正確配置了,那麼就是沙盒測試版本有問題,比如更改了versionName,沒有更改versionCode。
如果出現沒有進入沙盒環境的問題,則可以調用isSandBoxActivated介面,列印出以下欄位值:

通過以上方法,我們便可以分析出沒有進入沙盒環境的具體原因。更多內容還可以參考官網

2. 哪些場景下會收到訂閱關鍵事件通知cancle?

出現訂閱事件cancle事件,一般有以下兩種場景。

  1. 調用訂閱撤銷介面:在收到用戶申訴誤購買該訂閱型商品或不需要該訂閱型商品的情況下,開發者可以調用應用內支付伺服器提供的撤銷訂閱介面終止服務,購買的訂閱型商品立即消失,同時這筆訂閱費用會立即發起返還

具體可訪問官網

  1. 切換訂閱立即生效:用戶原訂閱的剩餘金額將折算成新訂閱的天數,延長新訂閱的有效期。目前這種切換效果的觸發場景是原訂閱的續費周期和即將更換的訂閱續費周期相同。

具體可訪問官網

  1. 兩者區別:調用撤銷介面會立刻進行退費;切換訂閱立即生效場景會將當前訂閱剩餘的權益值轉移到下個訂閱產品中,不會形成退費。

3. InAppPurchaseData中的payOrderId 和orderId有什麼區別?

  1. payOrderId是華為訂單號,也就是支付成功後,華為側生成的訂單號。每一筆支付成功的訂單都會生成唯一的訂單號。

  2. orderId 是商戶請求號,每次調用支付收銀台介面,都會由華為伺服器生成唯一的商戶請求號,代表著每一次請求。

因此,如果調用華為收銀台介面就會生成OrderId,而PayOrderId是支付成功才會生成的。

4. 如何理解新訂閱在下一個周期才生效?

原訂閱設置為到期狀態,新訂閱為待生效狀態。新訂閱會在原訂閱的失效日期開始扣費並生效。目前這種切換效果的觸發場景為:原訂閱的續費周期和即將更換的訂閱續費周期不同。

具體可訪問官網

舉個例子!

用戶在2月22日購買訂閱周期為1個月的A產品30元,3月10日購買訂閱周期為3個月的B產品80元,那麼可得知:

1)2月22日會扣A產品的30元,3月10日重新簽約B產品,B產品暫不扣費。

2)A產品會被設定為到期狀態,即A產品3月22日到期且不再扣費。

3)B產品在3月22日生效並扣費,下次扣費時間為6月22日。

5. 集成智慧屏帳號、應用內支付等功能,必須在華為智慧屏上進行調試嗎?

智慧屏測試依賴HMS Core TV APK,如果沒有該APK,那麼對應集成的相關功能將無法使用。一般來說,華為智慧屏會預裝該系統應用。這時有的開發者會想,能否在手機或者其他品牌電視上進行智慧屏帳號、應用內支付的功能測試?答案是否定的,原因有二:

  1. 由於華為安全和隱私規範,原則上該APK不對外暴露。

  2. HMS Core 部分能力依賴華為系統,那麼在其他品牌電視上可能無法使用。6.2.0.300版本後,華為手機也無法正常使用。

欲了解更多HMS Core應用內支付服務詳情,請參閱應用內支付服務官網

了解更多詳情>>

訪問華為開發者聯盟官網
獲取開發指導文檔
華為移動服務開源倉庫地址:GitHubGitee

關注我們,第一時間了解 HMS Core 最新技術資訊~