REST Resource: purchases.productsv2

リソース: ProductPurchaseV2

ProductPurchaseV2 リソースは、ユーザーのアプリ内アイテムの購入ステータスを示します。

JSON 表現
{
  "productLineItem": [
    {
      object (ProductLineItem)
    }
  ],
  "kind": string,
  "purchaseStateContext": {
    object (PurchaseStateContext)
  },
  "testPurchaseContext": {
    object (TestPurchaseContext)
  },
  "orderId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "purchaseCompletionTime": string,
  "acknowledgementState": enum (AcknowledgementState)
}
フィールド
productLineItem[]

object (ProductLineItem)

ProductPurchaseV2 のアイテム単位の情報が含まれます。

kind

string

この kind は、androidpublisher サービスの ProductPurchaseV2 オブジェクトを示します。

purchaseStateContext

object (PurchaseStateContext)

購入の購入ステータスに関する情報。

testPurchaseContext

object (TestPurchaseContext)

テスト購入に関する情報。これはテスト購入の場合にのみ設定されます。

orderId

string

アプリ内アイテムの購入に関連付けられているオーダー ID。購入に関連付けられた注文がない場合は設定できません。

obfuscatedExternalAccountId

string

アプリのユーザー アカウントに一意に関連付けられている難読化されたバージョンの ID。購入時に https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid を使用して指定された場合にのみ存在します。

obfuscatedExternalProfileId

string

アプリのユーザー プロファイルに一意に関連付けられている難読化されたバージョンの ID。購入時に https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid を使用して指定された場合にのみ存在します。

regionCode

string

アイテムが承認された時点でのユーザーの請求先住所の地域コード(ISO 3166-1 alpha-2 形式)。

purchaseCompletionTime

string (Timestamp format)

購入が成功した時刻(PurchaseState が PURCHASED に変更された時刻)。このフィールドは、お支払いが完了するまで表示されません。たとえば、ユーザーが保留中の取引(https://developer.android.com/google/play/billing/integrate#pending)を開始した場合、このフィールドは、ユーザーが取引を完了するために必要な手順を正常に完了するまで入力されません。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

acknowledgementState

enum (AcknowledgementState)

出力専用。購入の承認状態。

PurchaseStateContext

購入状態に関するコンテキスト。

JSON 表現
{
  "purchaseState": enum (PurchaseState)
}
フィールド
purchaseState

enum (PurchaseState)

出力専用。購入の購入ステータス。

PurchaseState

購入ステータス。

列挙型
PURCHASE_STATE_UNSPECIFIED 購入ステータスが指定されていません。この値は決して設定しないでください。
PURCHASED 購入が完了しました。
CANCELLED 注文がキャンセルされました。
PENDING 購入が保留中で、まだ完了していません。保留中の購入の処理について詳しくは、https://developer.android.com/google/play/billing/integrate#pending をご覧ください。

TestPurchaseContext

テスト購入に関するコンテキスト。

JSON 表現
{
  "fopType": enum (FopType)
}
フィールド
fopType

enum (FopType)

テスト購入の fop タイプ。

FopType

指定可能な fop タイプ。

列挙型
FOP_TYPE_UNSPECIFIED Fop タイプが指定されていません。この値は決して設定しないでください。
TEST 購入はテストカードを使用して行われました。

ProductLineItem

ProductPurchaseV2 のアイテム単位の情報が含まれます。

JSON 表現
{
  "productId": string,
  "productOfferDetails": {
    object (ProductOfferDetails)
  }
}
フィールド
productId

string

購入したアイテムの ID(例: 「monthly001」)。

productOfferDetails

object (ProductOfferDetails)

このアイテムの特典詳細。

ProductOfferDetails

購入項目に関する特典の詳細情報。

JSON 表現
{
  "offerTags": [
    string
  ],
  "offerId": string,
  "purchaseOptionId": string,
  "rentOfferDetails": {
    object (RentOfferDetails)
  },
  "offerToken": string,
  "quantity": integer,
  "refundableQuantity": integer,
  "consumptionState": enum (ConsumptionState)
}
フィールド
offerTags[]

string

特典に関連付けられた最新の特典タグ。購入オプションから継承されたタグを含みます。

offerId

string

特典 ID。特典に対してのみ存在します。

purchaseOptionId

string

購入オプション ID。

rentOfferDetails

object (RentOfferDetails)

賃貸物件の特典の詳細情報。これはレンタル広告申込情報にのみ設定されます。

offerToken

string

この購入広告申込情報を作成するために使用されたトランザクションごとのオファー トークン。

quantity

integer

アプリ内アイテムの購入に関連付けられている数量。

refundableQuantity

integer

払い戻しの対象となる数量(払い戻しが行われていない数量)。値には、数量ベースの一部払い戻しと全額払い戻しが反映されます。

consumptionState

enum (ConsumptionState)

出力専用。購入の消費状態。

RentOfferDetails

この型にはフィールドがありません。

レンタル項目に関する特典の詳細情報。

ConsumptionState

考えられる消費状態。

列挙型
CONSUMPTION_STATE_UNSPECIFIED 使用状況の状態が指定されていません。この値は決して設定しないでください。
CONSUMPTION_STATE_YET_TO_BE_CONSUMED まだ消費されていません。
CONSUMPTION_STATE_CONSUMED すでに使用済みです。

AcknowledgementState

1 回限りのアイテムの承認状態。

列挙型
ACKNOWLEDGEMENT_STATE_UNSPECIFIED 未指定の承認状態。
ACKNOWLEDGEMENT_STATE_PENDING 購入はまだ承認されていません。
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED 購入は承認されています。

メソッド

getproductpurchasev2

アプリ内アイテムの購入と消費のステータスを確認します。

エラーコード

このリソースのオペレーションは、次の 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 Console で必要な権限を持っていることを確認します。詳細については、 サービス アカウントの使用をご覧ください。
404 notFound リクエストされたリソースが見つかりませんでした。 ID(購入トークン、パッケージ名、商品 ID、定期購入 ID など)が正しいことを確認します。
409 concurrentUpdate 同時に更新されているオブジェクトを更新しようとしました。 指数バックオフを使用してリクエストを再試行します。同じリソースへの同時変更は避けてください。
5xx Generic error Google Play サーバーの一般的なエラー。 リクエストを再試行してください。

問題が解決しない場合は、Google Play アカウント マネージャーにお問い合わせいただくか、サポート リクエストを送信してください。Google Play ステータス ダッシュボードで、既知のサービス停止がないか確認してください。