- リソース: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PriceStepUpConsentDetails
- ConsentState
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- DeferredItemRemoval
- SignupPromotion
- OneTimeCode
- VanityCode
- メソッド
リソース: SubscriptionPurchaseV2
ユーザーの定期購入のステータスを示します。
| JSON 表現 | 
|---|
| { "kind": string, "regionCode": string, "lineItems": [ { object ( | 
| フィールド | |
|---|---|
| kind | 
 この kind は、androidpublisher サービスの SubscriptionPurchaseV2 オブジェクトを示します。 | 
| regionCode | 
 定期購入が承認された時点でのユーザーの請求先住所の国/地域コード(ISO 3166-1 alpha-2 形式)。 | 
| lineItems[] | 
 定期購入のアイテム単位の情報。同じ購入内のアイテムは、すべて AutoRenewingPlan を含むか、すべて PrepaidPlan を含む必要があります。 | 
| startTime | 
 定期購入が承認された日時。保留中の定期購入(作成されて登録時の支払い待ちの状態)には設定されません。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:  | 
| subscriptionState | 
 定期購入の現在の状態。 | 
| latestOrderId | 
 非推奨: 代わりに lineItems.latest_successful_order_id を使用してください。定期購入に関連付けられた最新の注文のオーダー ID。autoRenewing 対象の定期購入については、新規登録注文のオーダー ID(未更新の場合)、または継続注文の最新のオーダー ID(完了、保留中、または不承認の注文)です。前払い定期購入の場合は、クエリされた購入トークンに関連付けられているオーダー ID です。 | 
| linkedPurchaseToken | 
 次の場合、過去の定期購入の購入トークン。* 解約したが失効していない定期購入の再登録。* 以前の定期購入からのアップグレードまたはダウングレード。* 定期購入を前払いから自動更新に切り替える場合。* 定期購入を自動更新から前払いに切り替える場合。* 前払いの定期購入のチャージ。 | 
| pausedStateContext | 
 一時停止された定期購入に関する追加コンテキスト。subscriptionState が SUBSCRIPTION_STATE_PAUSED になっている定期購入の場合にのみ存在します。 | 
| canceledStateContext | 
 解約された定期購入に関する追加コンテキスト。subscriptionState が SUBSCRIPTION_STATE_CANCELED または SUBSCRIPTION_STATE_EXPIRED になっている定期購入の場合にのみ存在します。 | 
| testPurchase | 
 定期購入がテスト購入の場合にのみ存在します。 | 
| acknowledgementState | 
 定期購入の承認状態。 | 
| externalAccountIdentifiers | 
 サードパーティ サービス内のユーザー アカウントの識別子。 | 
| subscribeWithGoogleInfo | 
 「Google で購読」での購入に関連付けられたユーザー プロファイル。 | 
SubscriptionState
定期購入が取る可能性のある状態(有効、解約済みなど)。定期購入内のアイテムは、すべて自動更新プランか前払いプランのいずれかです。
| 列挙型 | |
|---|---|
| SUBSCRIPTION_STATE_UNSPECIFIED | 未指定の定期購入の状態。 | 
| SUBSCRIPTION_STATE_PENDING | 定期購入が作成されて、登録時の支払い待ちの状態。この状態では、すべてのアイテムが支払い待ちです。 | 
| SUBSCRIPTION_STATE_ACTIVE | サブスクリプションは有効です。-(1)定期購入が自動更新プランの場合、少なくとも 1 つのアイテムが autoRenewEnabled かつ有効期限内です。-(2)定期購入が前払いプランの場合、少なくとも 1 つのアイテムが有効期限内です。 | 
| SUBSCRIPTION_STATE_PAUSED | 定期購入は一時停止中です。この状態になるのは、定期購入が自動更新プランの場合のみです。この状態では、すべてのアイテムが一時停止状態です。 | 
| SUBSCRIPTION_STATE_IN_GRACE_PERIOD | 定期購入は猶予期間中です。この状態になるのは、定期購入が自動更新プランの場合のみです。この状態では、すべてのアイテムが猶予期間中です。 | 
| SUBSCRIPTION_STATE_ON_HOLD | 定期購入は保留中(停止中)です。この状態になるのは、定期購入が自動更新プランの場合のみです。この状態では、すべてのアイテムが保留中です。 | 
| SUBSCRIPTION_STATE_CANCELED | 定期購入は解約されましたが、まだ有効期限内です。この状態になるのは、定期購入が自動更新プランの場合のみです。すべてのアイテムで autoRenewEnabled が false に設定されています。 | 
| SUBSCRIPTION_STATE_EXPIRED | 定期購入は期限切れです。すべてのアイテムの expiryTime が過去の時点になっています。 | 
| SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED | 定期購入の保留中の取引がキャンセルされました。この保留中の購入が既存の定期購入のものである場合、linkedPurchaseToken を使用して、その定期購入の現在の状態を取得します。 | 
PausedStateContext
一時停止状態の定期購入に固有の情報。
| JSON 表現 | 
|---|
| { "autoResumeTime": string } | 
| フィールド | |
|---|---|
| autoResumeTime | 
 定期購入が自動再開される日時。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:  | 
CanceledStateContext
SUBSCRIPTION_STATE_CANCELED または SUBSCRIPTION_STATE_EXPIRED 状態の定期購入に固有の情報。
| JSON 表現 | 
|---|
| { // Union field | 
| フィールド | |
|---|---|
| 共用体フィールド cancellation_reason。定期購入が解約された理由。cancellation_reasonは次のいずれかになります。 | |
| userInitiatedCancellation | 
 定期購入はユーザーによって解約されました。 | 
| systemInitiatedCancellation | 
 定期購入は、請求に関する問題などにより、システムによって解約されました。 | 
| developerInitiatedCancellation | 
 定期購入はデベロッパーによって解約されました。 | 
| replacementCancellation | 
 定期購入は新たな定期購入に置き換えられました。 | 
UserInitiatedCancellation
ユーザーによる解約に固有の情報。
| JSON 表現 | 
|---|
| {
  "cancelSurveyResult": {
    object ( | 
| フィールド | |
|---|---|
| cancelSurveyResult | 
 ユーザーが定期購入解約フロー完了時に提供した情報(解約理由アンケート)。 | 
| cancelTime | 
 定期購入がユーザーによって解約された日時。この日時以降もユーザーが定期購入を利用できる可能性があります。利用できるかどうかは、lineItems.expiry_time に基づいて判断されます。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:  | 
CancelSurveyResult
ユーザーが定期購入を解約した際の解約アンケートの結果。
| JSON 表現 | 
|---|
| {
  "reason": enum ( | 
| フィールド | |
|---|---|
| reason | 
 解約アンケートでユーザーが選択した理由。 | 
| reasonUserInput | 
 CANCEL_SURVEY_REASON_OTHERS にのみ設定されます。アンケートに対するユーザーの自由記入形式の回答です。 | 
CancelSurveyReason
解約アンケートでユーザーが選択した理由。
| 列挙型 | |
|---|---|
| CANCEL_SURVEY_REASON_UNSPECIFIED | 解約アンケートの理由は指定されていません。 | 
| CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE | 定期購入を十分に活用しなかったため。 | 
| CANCEL_SURVEY_REASON_TECHNICAL_ISSUES | アプリ使用時の技術的な問題。 | 
| CANCEL_SURVEY_REASON_COST_RELATED | 料金に関する問題。 | 
| CANCEL_SURVEY_REASON_FOUND_BETTER_APP | もっと良いアプリを見つけたため。 | 
| CANCEL_SURVEY_REASON_OTHERS | その他の理由。 | 
SystemInitiatedCancellation
この型にはフィールドがありません。
Google システムによる解約に固有の情報。
DeveloperInitiatedCancellation
この型にはフィールドがありません。
デベロッパーによる解約に固有の情報。
ReplacementCancellation
この型にはフィールドがありません。
定期購入の置き換えによる解約に固有の情報。
TestPurchase
この型にはフィールドがありません。
定期購入がテスト購入かどうかを示します。
AcknowledgementState
定期購入が取る可能性のある承認状態。
| 列挙型 | |
|---|---|
| ACKNOWLEDGEMENT_STATE_UNSPECIFIED | 未指定の承認状態。 | 
| ACKNOWLEDGEMENT_STATE_PENDING | 定期購入はまだ承認されていません。 | 
| ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED | 定期購入は承認されています。 | 
ExternalAccountIdentifiers
サードパーティ サービス内のユーザー アカウントの識別子。
| JSON 表現 | 
|---|
| { "externalAccountId": string, "obfuscatedExternalAccountId": string, "obfuscatedExternalProfileId": string } | 
| フィールド | |
|---|---|
| externalAccountId | 
 サードパーティ サービス内のユーザー アカウントの識別子。定期購入フローの一環としてアカウントが連携された場合にのみ存在します。 | 
| obfuscatedExternalAccountId | 
 アプリのユーザー アカウントに一意に関連付けられている難読化されたバージョンの ID。次の購入の場合に存在します。* 定期購入フローの一環としてアカウントが連携された場合。* 購入時に https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid を使用して指定された場合。 | 
| obfuscatedExternalProfileId | 
 アプリのユーザー プロファイルに一意に関連付けられている難読化されたバージョンの ID。購入時に https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid を使用して指定された場合にのみ存在します。 | 
SubscribeWithGoogleInfo
「Google で購読」での購入に関連付けられた情報。
| JSON 表現 | 
|---|
| { "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } | 
| フィールド | |
|---|---|
| profileId | 
 定期購入が購入された際のユーザーの Google プロフィール ID。 | 
| profileName | 
 定期購入が購入された際のユーザーのプロフィール名。 | 
| emailAddress | 
 定期購入が購入された際のユーザーのメールアドレス。 | 
| givenName | 
 定期購入が購入された際のユーザーの名前(名)。 | 
| familyName | 
 定期購入が購入された際のユーザーの名前(姓)。 | 
SubscriptionPurchaseLineItem
定期購入のアイテム単位の情報。
| JSON 表現 | 
|---|
| { "productId": string, "expiryTime": string, "latestSuccessfulOrderId": string, // Union field | 
| フィールド | |
|---|---|
| productId | 
 購入したアイテムの ID(例: 「monthly001」)。 | 
| expiryTime | 
 定期購入の期限が切れた日時、またはアクセスが延長されない限り(例: 更新)定期購入の期限が切れる予定の日時。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:  | 
| latestSuccessfulOrderId | 
 このアイテムに関連付けられた最新の成功した注文のオーダー ID。アイテムがまだユーザーに所有されていない場合(延期されたアイテムが交換された場合など)、存在しません。 | 
| 共用体フィールド plan_type。定期購入プランのタイプ。plan_typeは次のいずれかになります。 | |
| autoRenewingPlan | 
 アイテムは自動更新します。 | 
| prepaidPlan | 
 アイテムは前払いです。 | 
| offerDetails | 
 このアイテムの特典詳細。 | 
| 共用体フィールド deferred_item_change。このフィールドは、アイテムの変更が保留されている場合に存在します。削除または置き換えのいずれかです。deferred_item_changeは次のいずれかになります。 | |
| deferredItemReplacement | 
 保留されているアイテム置き換えの情報。 | 
| deferredItemRemoval | 
 保留されているアイテム削除の情報。 | 
| signupPromotion | 
 このアイテムに関するプロモーションの詳細。登録時にプロモーションが適用された場合にのみ設定します。 | 
AutoRenewingPlan
自動更新プランに関連する情報。
| JSON 表現 | 
|---|
| { "autoRenewEnabled": boolean, "recurringPrice": { object ( | 
| フィールド | |
|---|---|
| autoRenewEnabled | 
 現在定期購入が自動更新に設定されている場合(例: ユーザーが定期購入を解約していない場合) | 
| recurringPrice | 
 自動更新プランの現在の定期購入価格。価格には割引は考慮されず、税抜価格の場合は税金は含まれません。取引の詳細が必要な場合は、代わりに  | 
| priceChangeDetails | 
 定期購入の登録以降に行われた、アイテムに対する最新の価格変更の情報。 | 
| installmentDetails | 
 自動更新プランの分割払いプランの契約および状態に関する情報。 | 
| priceStepUpConsentDetails | 
 最新の価格引き上げについての同意に関する情報。 | 
SubscriptionItemPriceChangeDetails
定期購入アイテムの価格変更関連情報。
| JSON 表現 | 
|---|
| { "newPrice": { object ( | 
| フィールド | |
|---|---|
| newPrice | 
 定期購入アイテムの新しい定期購入価格。 | 
| priceChangeMode | 
 価格変更モードは、定期購入アイテムの価格がどのように変更されるかを示します。 | 
| priceChangeState | 
 価格変更の現在の状態。 | 
| expectedNewPriceChargeTime | 
 価格変更がユーザーに対して有効になる更新日時。一時停止などにより更新日時がずれる場合は、さらに先の日時に変更されます。このフィールドは、価格変更がまだ有効になっていない場合にのみ入力されます。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:  | 
PriceChangeMode
価格変更のモード。
| 列挙型 | |
|---|---|
| PRICE_CHANGE_MODE_UNSPECIFIED | 価格変更モード未指定。この値は決して設定しないでください。 | 
| PRICE_DECREASE | 定期購入価格が下がる場合。 | 
| PRICE_INCREASE | 定期購入価格が上がり、ユーザーが同意する必要がある場合。 | 
| OPT_OUT_PRICE_INCREASE | 定期購入価格が上がり、オプトアウト モードになっている場合。 | 
PriceChangeState
価格変更の状態。
| 列挙型 | |
|---|---|
| PRICE_CHANGE_STATE_UNSPECIFIED | 価格変更状態未指定。この値は使用しないでください。 | 
| OUTSTANDING | ユーザーによる価格変更への同意を待っています。 | 
| CONFIRMED | ユーザーに対する価格変更の実施が確定しました。 | 
| APPLIED | 価格変更が適用され、ユーザーには新しい価格で請求されます。 | 
| CANCELED | 料金の変更がキャンセルされました。 | 
InstallmentPlan
分割払いプランについての情報。
| JSON 表現 | 
|---|
| {
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object ( | 
| フィールド | |
|---|---|
| initialCommittedPaymentsCount | 
 ユーザーが最初に契約した合計支払い回数。 | 
| subsequentCommittedPaymentsCount | 
 各契約期間後にユーザーが契約する合計支払い回数。空欄の場合、最初の契約後に分割払いプランは通常の自動更新定期購入に切り替わります。 | 
| remainingCommittedPaymentsCount | 
 この更新サイクル内で契約した支払い回数のうち残っている回数。 | 
| pendingCancellation | 
 存在する場合、この分割払いプランは解約保留中です。契約されているすべての支払いをユーザーが完了した場合にのみ解約が実施されます。 | 
PendingCancellation
この型にはフィールドがありません。
仮想分割払いプランに保留中の解約があるかどうかの指標です。契約されているすべての支払いをユーザーが完了した場合にのみ解約が実施されます。
PriceStepUpConsentDetails
ユーザーの同意が必要な価格のステップアップに関する情報。
| JSON 表現 | 
|---|
| { "state": enum ( | 
| フィールド | |
|---|---|
| state | 
 出力専用。価格引き上げの同意の状態。 | 
| consentDeadlineTime | 
 ユーザーが同意を提供する必要がある期限。この期限までに同意が得られない場合、定期購入は解約されます。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:  | 
| newPrice | 
 ユーザーの同意が必要な新しい価格。 | 
ConsentState
価格引き上げの同意の状態。
| 列挙型 | |
|---|---|
| CONSENT_STATE_UNSPECIFIED | 同意の状態が指定されていません。 | 
| PENDING | ユーザーがまだ同意していない。 | 
| CONFIRMED | ユーザーが同意し、新しい価格が有効になるのを待っている状態です。 | 
| COMPLETED | ユーザーが同意し、新しい価格が有効になりました。 | 
PrepaidPlan
前払いプランに関する情報。
| JSON 表現 | 
|---|
| { "allowExtendAfterTime": string } | 
| フィールド | |
|---|---|
| allowExtendAfterTime | 
 存在する場合、この日時より後に前払いプランのチャージ購入が可能になります。前払いプランの期限が切れている場合は存在しません。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例:  | 
OfferDetails
購入項目に関する特典の詳細情報。
| JSON 表現 | 
|---|
| { "offerTags": [ string ], "basePlanId": string, "offerId": string } | 
| フィールド | |
|---|---|
| offerTags[] | 
 特典に関連付けられた最新の特典タグ。基本プランから継承されたタグを含みます。 | 
| basePlanId | 
 基本プラン ID。すべての基本プランおよび特典に対して存在します。 | 
| offerId | 
 特典 ID。割引特典に対してのみ存在します。 | 
DeferredItemReplacement
保留されているアイテムの置き換えに関する情報。
| JSON 表現 | 
|---|
| { "productId": string } | 
| フィールド | |
|---|---|
| productId | 
 既存の productId に置き換わる productId。 | 
DeferredItemRemoval
この型にはフィールドがありません。
保留されているアイテムの置き換えに関する情報。
SignupPromotion
購入時にこのアイテムに適用されたプロモーション。
| JSON 表現 | 
|---|
| { // Union field | 
| フィールド | |
|---|---|
| 共用体フィールド promotion_type。アイテムに適用されるプロモーションのタイプ。promotion_typeは次のいずれかになります。 | |
| oneTimeCode | 
 1 回限りのコードが適用されました。 | 
| vanityCode | 
 バニティコードが適用されました。 | 
OneTimeCode
この型にはフィールドがありません。
1 回限りのプロモーション コード。
VanityCode
複数回使用可能な事前定義済みのプロモーション コード。
| JSON 表現 | 
|---|
| { "promotionCode": string } | 
| フィールド | |
|---|---|
| promotionCode | 
 プロモーション コード。 | 
| メソッド | |
|---|---|
| 
 | ユーザーの定期購入をキャンセルします。 | 
| 
 | 定期購入に関するメタデータを取得する | 
| 
 | ユーザーの定期購入を取り消します。 | 
エラーコード
このリソースのオペレーションは、次の HTTP エラーコードを返します。
| エラーコード | 理由 | 解決策 | 
|---|---|---|
| 5xx | Google Play サーバーの一般的なエラー。 | リクエストを再試行してください。 問題が解決しない場合は、Google Play アカウント マネージャーにお問い合わせいただくか、サポート リクエストを送信してください。Google Play ステータス ダッシュボードで、既知のサービス停止がないか確認してください。 | 
| 409 | 同時実行更新エラー。 更新中のオブジェクトを更新しようとしました。たとえば、Play Billing Library の  | リクエストを再試行してください。 | 
| 410 | 定期購入の購入は、有効期限が切れてから時間が経ちすぎているため、クエリで使用できなくなっています。 | 60 日以上前に期限切れになった定期購入をクエリするときにスローされます。これらの定期購入に対してクエリを実行しないでください。 |