REST Resource: monetization.subscriptions

リソースのサブスクリプション

アプリの 1 つの定期購入。

JSON 表現
{
  "packageName": string,
  "productId": string,
  "basePlans": [
    {
      object (BasePlan)
    }
  ],
  "listings": [
    {
      object (SubscriptionListing)
    }
  ],
  "archived": boolean,
  "taxAndComplianceSettings": {
    object (SubscriptionTaxAndComplianceSettings)
  },
  "restrictedPaymentCountries": {
    object (RestrictedPaymentCountries)
  }
}
フィールド
packageName

string

変更不可。親アプリのパッケージ名。

productId

string

変更不可。アイテムの一意のアイテム ID。親アプリ内で一意にします。アイテム ID に使用できるのは、小文字(a ~ z)、数字(0 ~ 9)、アンダースコア(_)、ドット(.)のみです。小文字または数字で始まり、1 文字以上 40 文字以下とする必要があります。

basePlans[]

object (BasePlan)

この定期購入の基本プランのセット。他の特典が適用されない場合の定期購入の価格と期間を表します。

listings[]

object (SubscriptionListing)

必須。この定期購入のローカライズされた掲載情報のリスト。親アプリのデフォルト言語のエントリを少なくとも 1 つ含める必要があります。

archived
(deprecated)

boolean

出力専用。非推奨: 定期購入のアーカイブはサポートされていません。

taxAndComplianceSettings

object (SubscriptionTaxAndComplianceSettings)

税金および法令遵守に関する詳細。

restrictedPaymentCountries

object (RestrictedPaymentCountries)

省略可。この定期購入の支払い方法が、同じ国で登録されている支払い方法に制限されている国。空の場合、支払い地域制限は課されません。

BasePlan

定期購入の 1 つの基本プラン。

JSON 表現
{
  "basePlanId": string,
  "state": enum (State),
  "regionalConfigs": [
    {
      object (RegionalBasePlanConfig)
    }
  ],
  "offerTags": [
    {
      object (OfferTag)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsBasePlanConfig)
  },

  // Union field base_plan_type can be only one of the following:
  "autoRenewingBasePlanType": {
    object (AutoRenewingBasePlanType)
  },
  "prepaidBasePlanType": {
    object (PrepaidBasePlanType)
  },
  "installmentsBasePlanType": {
    object (InstallmentsBasePlanType)
  }
  // End of list of possible types for union field base_plan_type.
}
フィールド
basePlanId

string

必須。変更不可。この基本プランの固有識別子。定期購入内で一意になっていて、RFC-1034 に準拠している必要があります。この ID に使用できるのは、英小文字(a ~ z)、数字(0 ~ 9)、ハイフン(-)のみです。63 文字以下で指定してください。

state

enum (State)

出力専用。基本プランの状態(有効化どうか)。未公開および無効な基本プランは有効化するか削除できます。有効な基本プランは無効にできます。無効な基本プランは解約できます。リソースを更新してもこのフィールドは変更できません。代わりに専用のエンドポイントを使用してください。

regionalConfigs[]

object (RegionalBasePlanConfig)

この基本プランの地域固有の情報。

offerTags[]

object (OfferTag)

この基本プランに対して指定され、Billing Library を通してアプリに返されるカスタムタグのリスト(最大 20 個)。この基本プランの定期購入特典も、Billing Library でこれらの特典タグを受け取ります。

otherRegionsConfig

object (OtherRegionsBasePlanConfig)

今後 Google Play がリリースする可能性のある新たな地域向けの価格情報。省略した場合、今後 Google Play をリリースする可能性のある新たな地域で BasePlan が自動的に提供されることはありません。

共用体フィールド base_plan_type。この基本プランのタイプ。必ず 1 つ設定する必要があります。ベースプランの作成後にベースプランのタイプを変更することはできません。base_plan_type は次のいずれかになります。
autoRenewingBasePlanType

object (AutoRenewingBasePlanType)

定期的な間隔で基本プランが自動更新される場合に設定します。

prepaidBasePlanType

object (PrepaidBasePlanType)

請求対象期間の終了時に基本プランが自動更新されない場合に設定します。

installmentsBasePlanType

object (InstallmentsBasePlanType)

ユーザーが特定の支払い回数で契約する分割払い基本プランの場合に設定します。

基本プランの現在の状態。

列挙型
STATE_UNSPECIFIED 未指定の状態
DRAFT 基本プランは現在未公開状態であり、有効化されていません。この時点では、問題なく削除できます。
ACTIVE 基本プランは有効であり、新規定期購入者に対して提供されています。
INACTIVE 基本プランは無効であり、既存の定期購入者に対してのみ提供されています。

AutoRenewingBasePlanType

定期購入期間の終了時に自動更新される基本プランを表します。

JSON 表現
{
  "billingPeriodDuration": string,
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode),
  "legacyCompatible": boolean,
  "legacyCompatibleSubscriptionOfferId": string
}
フィールド
billingPeriodDuration

string

必須。変更不可。定期購入の期間。ISO 8601 形式で指定します。指定できる請求対象期間のリストについては、ヘルプセンターでご確認ください。基本プランの作成後は、期間を変更できません。

gracePeriodDuration

string

定期購入の猶予期間。ISO 8601 形式で指定します。値は日数で指定する必要があり、P0D から 30D と基本プランの請求期間のいずれか短い方までの範囲で指定する必要があります。

未指定の場合、請求期間に応じてデフォルトの値が使用されます。

gracePeriodDuration と accountHoldDuration の合計は、P30D ~ P60D の範囲で指定してください。

accountHoldDuration

string

省略可。定期購入のカスタム アカウント一時停止期間。ISO 8601 形式で指定します。値は日数で指定する必要があり、P0D ~ P60D の範囲で指定します。

空のフィールドは、推奨されるアカウントの一時停止期間(60 日から猶予期間を引いた日数)を表します。

gracePeriodDuration と accountHoldDuration の合計は、P30D ~ P60D の範囲で指定してください。

resubscribeState

enum (ResubscribeState)

Google Play のサーフェス上でユーザーがこの基本プランを再度定期購入できるようにするかどうか。指定しない場合、デフォルトは RESUBSCRIBE_STATE_ACTIVE です。

prorationMode

enum (SubscriptionProrationMode)

基本プランの按分モードによって、ユーザーがこのプランから別の基本プランに切り替えた場合の処理が決まります。指定しない場合、デフォルトは CHARGE_ON_NEXT_BILLING_DATE です。

legacyCompatible

boolean

更新する基本プランに下位互換性があるかどうか。

下位互換性のある基本プランは、Google Play Billing Library の非推奨になった querySkuDetailsAsync() メソッドに返されます。

指定した定期購入について、旧バージョン対応とマークできる更新対象基本プランは 1 つだけです。

legacyCompatibleSubscriptionOfferId

string

旧バージョン対応の定期購入特典 ID。

下位互換性のある定期購入特典は、Google Play Billing Library では非推奨の querySkuDetailsAsync() メソッドによって返されます。

指定した更新対象基本プランについて、旧バージョン対応とマークできる定期購入特典は 1 つだけです。

旧バージョン対応の定期購入特典を指定しない場合、このフィールドは空の文字列にします。

ResubscribeState

基本プランの再定期購入の状態。

列挙型
RESUBSCRIBE_STATE_UNSPECIFIED 未指定の状態
RESUBSCRIBE_STATE_ACTIVE 再定期購入は有効です。
RESUBSCRIBE_STATE_INACTIVE 再定期購入は無効です。

SubscriptionProrationMode

基本プランの更新に使用する按分モード。

列挙型
SUBSCRIPTION_PRORATION_MODE_UNSPECIFIED モードが指定されていません。
SUBSCRIPTION_PRORATION_MODE_CHARGE_ON_NEXT_BILLING_DATE 現在の請求対象期間の終了時に、ユーザーは新たな基本プランの料金を請求されます。
SUBSCRIPTION_PRORATION_MODE_CHARGE_FULL_PRICE_IMMEDIATELY ユーザーは、新たな基本プランの料金を直ちに全額請求されます。既存の定期購入の残り期間はすべて、新たな請求対象期間に追加されます。

PrepaidBasePlanType

基本プランの終了時に自動更新されず、ユーザーが手動で更新する必要のある基本プランを表します。

JSON 表現
{
  "billingPeriodDuration": string,
  "timeExtension": enum (TimeExtension)
}
フィールド
billingPeriodDuration

string

必須。変更不可。定期購入の期間。ISO 8601 形式で指定します。指定できる請求対象期間のリストについては、ヘルプセンターでご確認ください。基本プランの作成後は、期間を変更できません。

timeExtension

enum (TimeExtension)

Google Play のサーフェス上でユーザーがこの前払いの基本プランを延長できるようにするかどうか。指定しない場合、デフォルトは TIME_EXTENSION_ACTIVE です。

TimeExtension

基本プランの期間延長。

列挙型
TIME_EXTENSION_UNSPECIFIED 未指定の状態
TIME_EXTENSION_ACTIVE 期間延長は有効です。ユーザーは、前払いプランにチャージするか、前払いプランを延長できます。
TIME_EXTENSION_INACTIVE 期間延長は無効です。ユーザーは、前払いプランにチャージすることも、前払いプランを延長することもできません。

InstallmentsBasePlanType

ユーザーが特定の支払い回数で契約する分割払い基本プランを表します。

JSON 表現
{
  "billingPeriodDuration": string,
  "committedPaymentsCount": integer,
  "renewalType": enum (RenewalType),
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode)
}
フィールド
billingPeriodDuration

string

必須。変更不可。定期購入の期間。ISO 8601 形式で指定します。指定できる請求対象期間のリストについては、ヘルプセンターでご確認ください。基本プランの作成後は、期間を変更できません。

committedPaymentsCount

integer

必須。変更不可。ユーザーが契約する支払い回数。基本プランの作成後は変更できません。

renewalType

enum (RenewalType)

必須。変更不可。分割払いの基本プランの更新タイプ。このタイプによって、最初の契約期間終了時の処理が決まります。基本プランの作成後に更新タイプを変更することはできません。

gracePeriodDuration

string

定期購入の猶予期間。ISO 8601 形式で指定します。値は日数で指定する必要があり、P0D から 30D と基本プランの請求期間のいずれか短い方までの範囲で指定する必要があります。

未指定の場合、請求期間に応じてデフォルトの値が使用されます。

gracePeriodDuration と accountHoldDuration の合計は、P30D ~ P60D の範囲で指定してください。

accountHoldDuration

string

省略可。定期購入のカスタム アカウント一時停止期間。ISO 8601 形式で指定します。値は日数で指定する必要があり、P0D ~ P60D の範囲で指定します。

空のフィールドは、推奨されるアカウントの一時停止期間(60 日から猶予期間を引いた日数)を表します。

gracePeriodDuration と accountHoldDuration の合計は、P30D ~ P60D の範囲で指定してください。

resubscribeState

enum (ResubscribeState)

Google Play のサーフェス上でユーザーがこの基本プランを再度定期購入できるようにするかどうか。指定しない場合、デフォルトは RESUBSCRIBE_STATE_ACTIVE です。

prorationMode

enum (SubscriptionProrationMode)

基本プランの按分モードによって、ユーザーがこのプランから別の基本プランに切り替えた場合の処理が決まります。指定しない場合、デフォルトは CHARGE_ON_NEXT_BILLING_DATE です。

RenewalType

分割払いの基本プランの更新タイプ。このタイプによって、最初の契約期間終了時の処理が決まります。基本プランの作成後に更新タイプを変更することはできません。

列挙型
RENEWAL_TYPE_UNSPECIFIED 未指定の状態
RENEWAL_TYPE_RENEWS_WITHOUT_COMMITMENT 契約なしで請求対象期間が定期的に更新されます。
RENEWAL_TYPE_RENEWS_WITH_COMMITMENT 最初の契約と同じ期間の契約で更新されます。

RegionalBasePlanConfig

地域に固有の基本プランの設定。

JSON 表現
{
  "regionCode": string,
  "newSubscriberAvailability": boolean,
  "price": {
    object (Money)
  }
}
フィールド
regionCode

string

必須。この設定が適用される地域コード(ISO 3166-2 形式で定義。例: 「US」)。

newSubscriberAvailability

boolean

基本プランが指定地域で新規定期購入者に対して提供されているかどうか。この値が false に設定されている場合、既存の定期購入者の定期購入は解約されません。指定されていない場合は、デフォルトで false に設定されます。

price

object (Money)

指定地域での基本プランの価格。新規定期購入者に対して基本プランが提供されている場合は設定する必要があります。指定の地域に関連付けられた通貨で設定しなければなりません。

OtherRegionsBasePlanConfig

Google Play をリリースする可能性のある新たな地域向けの価格情報。

JSON 表現
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  },
  "newSubscriberAvailability": boolean
}
フィールド
usdPrice

object (Money)

必須。Google Play をリリースする可能性のある新たな地域向けの価格(USD)。

eurPrice

object (Money)

必須。Google Play をリリースする可能性のある新たな地域向けの価格(EUR)。

newSubscriberAvailability

boolean

Google Play をリリースする可能性のある新たな地域において新規定期購入者に対して基本プランを提供するかどうか。指定されていない場合は、デフォルトで false に設定されます。

SubscriptionListing

消費者に表示される定期購入のメタデータ。

JSON 表現
{
  "languageCode": string,
  "title": string,
  "benefits": [
    string
  ],
  "description": string
}
フィールド
languageCode

string

必須。このリスティングの言語(BCP-47 形式。例: 「en-US」)。

title

string

必須。この定期購入のタイトル(この掲載情報の言語の書式なしテキスト。

benefits[]

string

プラットフォーム(Google Play ストアなど)や復元フローでユーザーに表示される特典のリスト(この掲載情報の言語の書式なしテキスト。 特典の順序付きリスト(最大 4 つ)。

description

string

この定期購入の説明(この掲載情報の言語で最大 80 文字の書式なしテキスト。

メソッド

archive
(deprecated)

非推奨: 定期購入のアーカイブはサポートされていません。

batchGet

1 つ以上の定期購入を読み取ります。

batchUpdate

定期購入を一括で更新します。

create

新しい定期購入を作成します。

delete

サブスクリプションを削除します。

get

1 つの定期購入を読み取ります。

list

特定のアプリのすべての定期購入を一覧表示します。

patch

既存の定期購入を更新します。

エラーコード

このリソースのオペレーションは、次の HTTP エラーコードを返します。

エラーコード 理由 説明 解決策
400 invalidValue リクエストで無効な値が指定されました。多くの場合、これは形式が正しくないか無効な購入トークンに対して返されます。 API リファレンスに基づいて、リクエスト本文またはパラメータの無効なフィールド値を修正します。
400 required リクエストに必須のフィールドまたはパラメータがありません。 API のドキュメントを参照して、すべての必須フィールドとパラメータが含まれていることを確認します。
403 userInsufficientPermission リクエストされたオペレーションを実行する権限がユーザーにありません。 認証済みユーザーが Google Play Console で必要な権限を持っていることを確認します。詳細については、 サービス アカウントの使用をご覧ください。
404 notFound リクエストされたリソースが見つかりませんでした。 ID(購入トークン、パッケージ名、商品 ID、定期購入 ID など)が正しいことを確認します。
409 concurrentUpdate 同時に更新されているオブジェクトを更新しようとしました。 指数バックオフを使用してリクエストを再試行します。同じリソースへの同時変更は避けてください。
5xx Generic error Google Play サーバーの一般的なエラー。 リクエストを再試行してください。

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