REST Resource: monetization.subscriptions

Resource: Subscription

Satu langganan untuk aplikasi.

Representasi JSON
{
  "packageName": string,
  "productId": string,
  "basePlans": [
    {
      object (BasePlan)
    }
  ],
  "listings": [
    {
      object (SubscriptionListing)
    }
  ],
  "archived": boolean,
  "taxAndComplianceSettings": {
    object (SubscriptionTaxAndComplianceSettings)
  },
  "restrictedPaymentCountries": {
    object (RestrictedPaymentCountries)
  }
}
Kolom
packageName

string

Tidak dapat diubah. Nama paket aplikasi induk.

productId

string

Tidak dapat diubah. ID produk unik dari produk tersebut. Unik di dalam aplikasi induk. ID produk harus terdiri dari huruf kecil (a-z), angka (0-9), garis bawah (_), dan titik (.). ID produk harus dimulai dengan huruf kecil atau angka, dan panjangnya antara 1 hingga 40 karakter (inklusif).

basePlans[]

object (BasePlan)

Kumpulan paket dasar untuk langganan ini. Mewakili harga dan durasi langganan jika tidak ada penawaran lain yang berlaku.

listings[]

object (SubscriptionListing)

Wajib. Daftar listingan yang dilokalkan untuk langganan ini. Harus berisi minimal satu entri untuk bahasa default aplikasi induk.

archived
(deprecated)

boolean

Hanya output. Tidak digunakan lagi: pengarsipan langganan tidak didukung.

taxAndComplianceSettings

object (SubscriptionTaxAndComplianceSettings)

Detail tentang pajak dan kepatuhan hukum.

restrictedPaymentCountries

object (RestrictedPaymentCountries)

Opsional. Negara yang membatasi pembelian langganan ini ke metode pembayaran yang terdaftar di negara yang sama. Jika kosong, tidak ada batasan lokasi pembayaran yang diberlakukan.

BasePlan

Satu paket dasar untuk langganan.

Representasi 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.
}
Kolom
basePlanId

string

Wajib. Tidak dapat diubah. ID unik paket dasar ini. Harus unik dalam langganan, dan sesuai dengan RFC-1034. Artinya, ID ini hanya boleh berisi huruf kecil (a-z), angka (0-9), dan tanda hubung (-), serta maksimal 63 karakter.

state

enum (State)

Hanya output. Status paket dasar, yaitu apakah paket tersebut aktif. Draf dan paket dasar yang tidak aktif dapat diaktifkan atau dihapus. Paket dasar yang aktif dapat dibuat tidak aktif. Paket dasar yang tidak aktif dapat dibatalkan. Kolom ini tidak dapat diubah dengan memperbarui resource. Sebagai gantinya, gunakan endpoint khusus.

regionalConfigs[]

object (RegionalBasePlanConfig)

Informasi khusus wilayah untuk paket dasar ini.

offerTags[]

object (OfferTag)

Mencantumkan hingga 20 tag kustom yang ditentukan untuk paket dasar ini, dan ditampilkan ke aplikasi melalui billing library. Penawaran langganan untuk paket dasar ini juga akan menerima tag penawaran ini dalam billing library.

otherRegionsConfig

object (OtherRegionsBasePlanConfig)

Informasi harga untuk lokasi baru tempat Play mungkin akan melakukan peluncuran pada masa mendatang. Jika dihilangkan, BasePlan tidak akan otomatis tersedia di lokasi baru tempat Play mungkin akan melakukan peluncuran pada masa mendatang.

Kolom union base_plan_type. Jenis paket dasar ini. Hanya satu yang harus ditetapkan. Jenis paket dasar tidak dapat diubah setelah paket dasar dibuat. base_plan_type hanya dapat berupa salah satu dari berikut:
autoRenewingBasePlanType

object (AutoRenewingBasePlanType)

Disetel saat paket dasar diperpanjang otomatis secara berkala.

prepaidBasePlanType

object (PrepaidBasePlanType)

Disetel kapan paket dasar tidak diperpanjang secara otomatis pada akhir periode penagihan.

installmentsBasePlanType

object (InstallmentsBasePlanType)

Disetel untuk paket dasar cicilan ketika pengguna berkomitmen untuk sejumlah pembayaran tertentu.

Negara Bagian

Status paket dasar saat ini.

Enum
STATE_UNSPECIFIED Status tidak ditentukan.
DRAFT Paket dasar saat ini masih dalam status draf, dan belum diaktifkan. Paket tersebut dapat dihapus dengan aman pada saat ini.
ACTIVE Paket dasar aktif dan tersedia untuk pelanggan baru.
INACTIVE Paket dasar tidak aktif dan hanya tersedia untuk pelanggan lama.

AutoRenewingBasePlanType

Mewakili paket dasar yang diperpanjang secara otomatis pada akhir periode langganan.

Representasi JSON
{
  "billingPeriodDuration": string,
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode),
  "legacyCompatible": boolean,
  "legacyCompatibleSubscriptionOfferId": string
}
Kolom
billingPeriodDuration

string

Wajib. Tidak dapat diubah. Periode langganan, yang ditentukan dalam format ISO 8601. Untuk daftar periode penagihan yang dapat diterima, lihat pusat bantuan. Durasi tidak dapat diubah setelah rencana dasar dibuat.

gracePeriodDuration

string

Masa tenggang langganan, ditentukan dalam format ISO 8601. Nilai yang dapat diterima harus dalam satuan hari dan antara P0D dan yang lebih kecil dari 30D dan periode penagihan paket dasar.

Jika tidak ditentukan, nilai default akan digunakan berdasarkan periode penagihan.

Jumlah gracePeriodDuration dan accountHoldDuration harus antara P30D dan P60D hari, inklusif.

accountHoldDuration

string

Opsional. Periode penangguhan akun langganan, ditentukan dalam format ISO 8601. Nilai yang dapat diterima harus dalam satuan hari dan antara P0D dan P60D.

Jika tidak ditentukan, nilai defaultnya adalah P30D.

Jumlah gracePeriodDuration dan accountHoldDuration harus antara P30D dan P60D hari, inklusif.

resubscribeState

enum (ResubscribeState)

Apakah pengguna dapat berlangganan kembali paket dasar ini di platform Google Play. Defaultnya adalah RESUBSCRIBE_STATE_ACTIVE jika tidak ditentukan.

prorationMode

enum (SubscriptionProrationMode)

Mode prorata untuk paket dasar menentukan apa yang terjadi ketika pengguna beralih ke paket ini dari paket dasar lain. Jika tidak ditentukan, defaultnya adalah CHARGE_ON_NEXT_BILLING_DATE.

legacyCompatible

boolean

Apakah paket dasar yang diperpanjang kompatibel dengan versi lama.

Paket dasar yang kompatibel dengan versi sebelumnya ditampilkan oleh metode querySkuDetailsAsync() Library Layanan Penagihan Google Play yang tidak digunakan lagi.

Hanya satu paket dasar yang diperpanjang yang dapat ditandai sebagai kompatibel dengan versi sebelumnya untuk langganan tertentu.

legacyCompatibleSubscriptionOfferId

string

ID penawaran langganan yang kompatibel dengan versi sebelumnya.

Penawaran langganan yang kompatibel dengan versi lama ditampilkan oleh metode querySkuDetailsAsync() Library Layanan Penagihan Google Play yang tidak digunakan lagi.

Hanya satu penawaran langganan yang dapat ditandai sebagai kompatibel dengan versi sebelumnya untuk paket dasar tertentu yang diperpanjang.

Agar tidak ada penawaran Langganan yang kompatibel dengan versi sebelumnya, setel kolom sebagai string kosong.

ResubscribeState

Status berlangganan lagi paket dasar.

Enum
RESUBSCRIBE_STATE_UNSPECIFIED Status tidak ditentukan.
RESUBSCRIBE_STATE_ACTIVE Berlangganan lagi aktif.
RESUBSCRIBE_STATE_INACTIVE Berlangganan lagi tidak aktif.

SubscriptionProrationMode

Mode prorata digunakan untuk memperpanjang paket dasar.

Enum
SUBSCRIPTION_PRORATION_MODE_UNSPECIFIED Mode tidak ditentukan.
SUBSCRIPTION_PRORATION_MODE_CHARGE_ON_NEXT_BILLING_DATE Pengguna akan dikenai biaya untuk paket dasar baru mereka pada akhir periode penagihan saat ini.
SUBSCRIPTION_PRORATION_MODE_CHARGE_FULL_PRICE_IMMEDIATELY Pengguna akan segera dikenai biaya untuk paket dasar baru secara penuh. Sisa periode langganan saat ini akan digunakan untuk memperpanjang durasi paket penagihan baru.

PrepaidBasePlanType

Mewakili paket dasar yang tidak diperpanjang secara otomatis di akhir masa berlaku paket dasar, dan harus diperpanjang secara manual oleh pengguna.

Representasi JSON
{
  "billingPeriodDuration": string,
  "timeExtension": enum (TimeExtension)
}
Kolom
billingPeriodDuration

string

Wajib. Tidak dapat diubah. Periode langganan, yang ditentukan dalam format ISO 8601. Untuk daftar periode penagihan yang dapat diterima, lihat pusat bantuan. Durasi tidak dapat diubah setelah rencana dasar dibuat.

timeExtension

enum (TimeExtension)

Apakah pengguna dapat memperpanjang paket dasar prabayar ini di platform Google Play. Defaultnya adalah TIME_EXTENSION_ACTIVE jika tidak ditentukan.

TimeExtension

Perpanjangan waktu paket dasar.

Enum
TIME_EXTENSION_UNSPECIFIED Status tidak ditentukan.
TIME_EXTENSION_ACTIVE Perpanjangan waktu aktif. Pengguna diizinkan mengisi ulang atau memperpanjang paket prabayarnya.
TIME_EXTENSION_INACTIVE Perpanjangan waktu tidak aktif. Pengguna tidak dapat mengisi ulang atau memperpanjang paket prabayar mereka.

InstallmentsBasePlanType

Mewakili paket dasar cicilan ketika pengguna berkomitmen untuk melakukan sejumlah pembayaran tertentu.

Representasi JSON
{
  "billingPeriodDuration": string,
  "committedPaymentsCount": integer,
  "renewalType": enum (RenewalType),
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode)
}
Kolom
billingPeriodDuration

string

Wajib. Tidak dapat diubah. Periode langganan, yang ditentukan dalam format ISO 8601. Untuk daftar periode penagihan yang dapat diterima, lihat pusat bantuan. Durasi tidak dapat diubah setelah rencana dasar dibuat.

committedPaymentsCount

integer

Wajib. Tidak dapat diubah. Jumlah pembayaran yang menjadi komitmen pengguna. Paket dasar tidak dapat diubah setelah dibuat.

renewalType

enum (RenewalType)

Wajib. Tidak dapat diubah. Jenis perpanjangan paket dasar cicilan. Menentukan perilaku pada akhir komitmen awal. Jenis perpanjangan tidak dapat diubah setelah paket dasar dibuat.

gracePeriodDuration

string

Masa tenggang langganan, ditentukan dalam format ISO 8601. Nilai yang dapat diterima harus dalam satuan hari dan antara P0D dan yang lebih kecil dari 30D dan periode penagihan paket dasar.

Jika tidak ditentukan, nilai default akan digunakan berdasarkan periode penagihan.

Jumlah gracePeriodDuration dan accountHoldDuration harus antara P30D dan P60D hari, inklusif.

accountHoldDuration

string

Opsional. Periode penangguhan akun langganan, ditentukan dalam format ISO 8601. Nilai yang dapat diterima harus dalam satuan hari dan antara P0D dan P60D.

Jika tidak ditentukan, nilai defaultnya adalah P30D.

Jumlah gracePeriodDuration dan accountHoldDuration harus antara P30D dan P60D hari, inklusif.

resubscribeState

enum (ResubscribeState)

Apakah pengguna dapat berlangganan kembali paket dasar ini di platform Google Play. Defaultnya adalah RESUBSCRIBE_STATE_ACTIVE jika tidak ditentukan.

prorationMode

enum (SubscriptionProrationMode)

Mode prorata untuk paket dasar menentukan apa yang terjadi ketika pengguna beralih ke paket ini dari paket dasar lain. Jika tidak ditentukan, defaultnya adalah CHARGE_ON_NEXT_BILLING_DATE.

RenewalType

Jenis perpanjangan paket dasar cicilan. Menentukan perilaku pada akhir komitmen awal. Jenis perpanjangan tidak dapat diubah setelah paket dasar dibuat.

Enum
RENEWAL_TYPE_UNSPECIFIED Status tidak ditentukan.
RENEWAL_TYPE_RENEWS_WITHOUT_COMMITMENT Diperpanjang secara berkala selama jangka waktu penagihan tanpa komitmen.
RENEWAL_TYPE_RENEWS_WITH_COMMITMENT Diperpanjang dengan komitmen durasi yang sama dengan komitmen awal.

RegionalBasePlanConfig

Konfigurasi untuk paket dasar khusus untuk suatu wilayah.

Representasi JSON
{
  "regionCode": string,
  "newSubscriberAvailability": boolean,
  "price": {
    object (Money)
  }
}
Kolom
regionCode

string

Wajib. Kode wilayah yang berlaku untuk konfigurasi ini, sebagaimana ditentukan oleh ISO 3166-2, misalnya, "US".

newSubscriberAvailability

boolean

Apakah paket dasar di wilayah tertentu tersedia untuk pelanggan baru. Langganan pelanggan lama tidak akan dibatalkan jika nilai ini disetel ke salah. Jika tidak ditentukan, defaultnya adalah salah (false).

price

object (Money)

Harga paket dasar di wilayah yang ditentukan. Harus disetel jika paket dasar tersedia untuk pelanggan baru. Harus disetel dalam mata uang yang terkait dengan wilayah tertentu.

OtherRegionsBasePlanConfig

Informasi harga untuk lokasi baru tempat Play mungkin meluncurkan penawaran.

Representasi JSON
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  },
  "newSubscriberAvailability": boolean
}
Kolom
usdPrice

object (Money)

Wajib. Harga dalam USD untuk digunakan di lokasi baru tempat Play mungkin meluncurkan penawaran.

eurPrice

object (Money)

Wajib. Harga dalam EUR untuk digunakan di lokasi baru tempat Play mungkin meluncurkan penawaran.

newSubscriberAvailability

boolean

Apakah paket dasar tersedia untuk pelanggan baru di lokasi baru tempat Play mungkin meluncurkan penawaran. Jika tidak ditentukan, defaultnya adalah salah (false).

SubscriptionListing

Metadata langganan yang dapat dilihat oleh konsumen.

Representasi JSON
{
  "languageCode": string,
  "title": string,
  "benefits": [
    string
  ],
  "description": string
}
Kolom
languageCode

string

Wajib. Bahasa listingan ini, sebagaimana didefinisikan oleh BCP-47, misalnya, "en-US".

title

string

Wajib. Judul langganan ini dalam bahasa listingan ini. Teks biasa.

benefits[]

string

Daftar manfaat yang ditampilkan kepada pengguna di platform seperti Play Store dan dalam alur pemulihan dalam bahasa listingan ini. Teks biasa. Daftar yang diurutkan paling banyak empat manfaat.

description

string

Deskripsi langganan ini dalam bahasa listingan ini. Panjang maksimum - 80 karakter. Teks biasa.

RestrictedPaymentCountries

Negara yang membatasi pembelian produk ini ke metode pembayaran yang terdaftar di negara yang sama. Jika kosong, tidak ada batasan lokasi pembayaran yang diberlakukan.

Representasi JSON
{
  "regionCodes": [
    string
  ]
}
Kolom
regionCodes[]

string

Wajib. Kode wilayah untuk memberlakukan batasan pembayaran, sebagaimana ditentukan oleh ISO 3166-2, misalnya, "US".

Metode

archive
(deprecated)

Tidak digunakan lagi: pengarsipan langganan tidak didukung.

batchGet

Membaca satu atau beberapa langganan.

batchUpdate

Memperbarui batch langganan.

create

Membuat langganan baru.

delete

Menghapus langganan.

get

Membaca satu langganan.

list

Mencantumkan semua langganan pada aplikasi tertentu.

patch

Memperbarui langganan yang sudah ada.