簡體   English   中英

通過促銷代碼進行的應用內購買會返回空的開發者有效負載字符串

[英]In-app purchases made via promo codes return empty developer payload string

我有一個應用程序發布到alpha通道,有一個應用程序內(非)托管項目,成本為1美元。

當我正常購買時,即使用信用卡/借記卡Google返回正確的開發者有效負載字符串,但如果我選擇“兌換”促銷代碼並輸入所述代碼,Google會返回一個空的開發人員有效負載字符串,因此身份驗證失敗'onIabPurchaseFinished()'。

我應該提一下,只有當我選擇從應用程序的購買流程中兌換代碼時才會出現這種情況,如果我先打開Play商店,兌換代碼,然后返回並打開應用程序,一切都會完美無缺。

這是谷歌的一個錯誤嗎?

編輯:Play商店的東西是預期的,因為它無法知道您的有效負載,購買完成后無需檢查。

這個問題是在google的android-play-billing樣本回購中打開的。 看起來很長一段時間它都被忽略了,並最終以此評論結束。 簡而言之,他們有以下建議。


我們審核了我們的指南和內部API,由於應用內結算API(包括promocodes)上的所有功能都不支持developerPayload,因此我們刪除了將其用作安全檢查的建議。

正如您在我們的文檔中所見,在實施應用內結算( https://developer.android.com/google/play/billing/billing_integrate.html )頁面上,我們添加了一條建議:

警告:請勿使用developerPayload字段進行安全驗證。 完成與應用內結算相關的任務時,此字段並不總是可用。 有關安全性最佳做法的詳細信息,請參閱應用內結算安全和設計指南。

我們的建議是使用Play Developer API在您自己的后端進行驗證。


暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM