REST Resource: purchases.products

資源:ProductPurchase

ProductPurchase 資源會指出使用者應用程式內商品購買交易的狀態。

JSON 表示法
{
  "kind": string,
  "purchaseTimeMillis": string,
  "purchaseState": integer,
  "consumptionState": integer,
  "developerPayload": string,
  "orderId": string,
  "purchaseType": integer,
  "acknowledgementState": integer,
  "purchaseToken": string,
  "productId": string,
  "quantity": integer,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "refundableQuantity": integer
}
欄位
kind

string

這類代表 androidpublisher 服務中的 inappPurchase 物件。

purchaseTimeMillis

string (int64 format)

產品的購買時間,以自 Epoch 紀元時間 (1970 年 1 月 1 日) 起的毫秒為單位。

purchaseState

integer

訂購單的購買狀態。可能的值為 0。已購買 1 個。已取消 2. 待處理

consumptionState

integer

應用程式內商品的消耗狀態。可能的值為 0。尚未使用的抵免額 1. 使用

developerPayload

string

開發人員指定的字串,內容為有關訂購單的其他資訊。

orderId

string

與應用程式內商品購買交易相關聯的訂單 ID。

purchaseType

integer

應用程式內商品的購買類型。只有在購買交易不是透過標準應用程式內結帳流程完成時,才會設定這個欄位。可能的值為 0。測試 (即透過授權測試帳戶購買) 1. 促銷 (即使用促銷代碼購買)。不含 Play Points 交易。2. 獎勵 (即觀看影片廣告而非付費)

acknowledgementState

integer

應用程式內商品的確認狀態。可能的值為 0。尚待確認 1. 已確認

purchaseToken

string

系統產生的購買交易權杖,用於識別這筆交易。可能不會顯示。

productId

string

應用程式內商品 SKU。可能不會顯示。

quantity

integer

與應用程式內商品購買交易相關聯的數量。如未提供,數量則為 1。

obfuscatedExternalAccountId

string

與應用程式中使用者帳戶相關聯的專屬 ID 模糊處理版本。只有在購買交易時使用 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid 指定時,才會顯示這個 ID。

obfuscatedExternalProfileId

string

與應用程式中使用者設定檔相關聯的專屬 ID 模糊處理版本。只有在購買時使用 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid 指定時,才會顯示這個 ID。

regionCode

string

產品授予時,使用者的 ISO 3166-1 alpha-2 帳單地區代碼。

refundableQuantity

integer

符合退款資格的數量,也就是尚未退款的數量。這項值會反映以數量為準的部分退款和全額退款。

方法

acknowledge

確認購買應用程式內商品。

consume

消耗應用程式內商品的購買交易。

get

檢查應用程式內商品的購買和使用狀態。

錯誤代碼

這項資源的作業會傳回下列 HTTP 錯誤碼:

錯誤代碼 原因 說明 解析度
400 invalidPurchaseState 購買交易處於無效狀態,無法執行要求的作業。舉例來說,您可能嘗試確認已使用的購買交易,或取消非有效訂閱項目。 嘗試執行作業前,請先使用對應的 Get API 檢查資源的目前狀態。確認資源處於適合執行動作的狀態。
400 invalidValue 要求中提供的值無效。如果購買權杖格式有誤或無效,通常會傳回這個錯誤。 根據 API 參考資料,更正要求主體或參數中的無效欄位值。
400 productNotOwnedByUser 提供的購買權杖有效,但使用者目前並未擁有該產品。如果購買交易在確認前已退款、撤銷或過期,就可能發生這種情況。 嘗試執行作業前,請先使用對應的 Get API 檢查資源的目前狀態。確認資源處於適合執行動作的狀態。
400 purchaseTokenMismatch 提供的購買憑證與購買交易、套件名稱、訂閱 ID 或產品 ID 不符。 確認要求中的所有詳細資料皆正確無誤,且彼此相符。
400 required 要求缺少必要欄位或參數。 請參閱 API 說明文件,確認已包含所有必填欄位和參數。
400 unsupportedIabType 指定的應用程式內結帳類型不支援這項作業。 確認 API 方法與要管理的項目類型相容。
403 userInsufficientPermission 使用者沒有足夠的權限可執行要求作業。 確認已驗證的使用者在 Google Play 管理中心具備必要權限。詳情請參閱「 使用服務帳戶」。
404 notFound 找不到要求的資源。 確認 ID (例如購買憑證、套件名稱、產品 ID、訂閱 ID) 正確無誤。
409 concurrentUpdate 嘗試更新正在同步更新的物件。 以指數輪詢方式重試要求。避免同時修改相同資源。
5xx Generic error Google Play 伺服器發生一般錯誤。 請重試要求。

如果問題持續發生,請與 Google Play 帳戶管理員聯絡,或提交支援要求。建議查看 Play 狀態資訊主頁,瞭解是否有已知服務中斷情形。