REST Resource: purchases.subscriptionsv2

Referensi: SubscriptionPurchaseV2

Menunjukkan status pembelian langganan pengguna.

Representasi JSON
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "latestOrderId": string,
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  }
}
Kolom
kind

string

Jenis ini mewakili objek SubscriptionPurchaseV2 di layanan androidpublisher.

regionCode

string

Kode negara/wilayah penagihan ISO 3166-1 alpha-2 pengguna pada saat langganan diberikan.

lineItems[]

object (SubscriptionPurchaseLineItem)

Info tingkat item untuk pembelian langganan. Item dalam pembelian yang sama harus semuanya dengan AutoRenewingPlan atau semuanya dengan PrabayarPlan.

startTime

string (Timestamp format)

Waktu langganan diberikan. Tidak ditetapkan untuk langganan yang tertunda (langganan telah dibuat tetapi menunggu pembayaran selama pendaftaran).

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

subscriptionState

enum (SubscriptionState)

Status langganan saat ini.

latestOrderId

string

ID pesanan terbaru yang terkait dengan pembelian langganan. Untuk langganan Perpanjangan Otomatis, ini adalah ID pesanan pendaftaran jika belum diperpanjang, atau ID pesanan berulang terakhir (pesanan berhasil, tertunda, atau ditolak). Untuk langganan prabayar, ini adalah ID pesanan yang terkait dengan token pembelian yang dikueri.

linkedPurchaseToken

string

Token pembelian langganan lama jika langganan ini adalah salah satu dari yang berikut: * Pendaftaran ulang langganan yang dibatalkan tetapi tidak berakhir * Upgrade/downgrade dari langganan sebelumnya. * Konversi dari langganan prabayar ke perpanjangan otomatis. * Konversi dari langganan dengan perpanjangan otomatis ke prabayar. * Tambah saldo langganan prabayar.

pausedStateContext

object (PausedStateContext)

Konteks tambahan seputar langganan yang dijeda. Hanya ada jika langganan saat ini memiliki subscriptionState SUBSCRIPTION_STATE_PAused.

canceledStateContext

object (CanceledStateContext)

Konteks tambahan seputar langganan yang dibatalkan. Hanya ada jika langganan saat ini memiliki subscriptionState SUBSCRIPTION_STATE_CANCELED.

testPurchase

object (TestPurchase)

Hanya ada jika pembelian langganan ini adalah pembelian uji coba.

acknowledgementState

enum (AcknowledgementState)

Status konfirmasi langganan.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

ID akun pengguna di layanan pihak ketiga.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

Profil pengguna yang terkait dengan pembelian yang dilakukan menggunakan 'Berlangganan dengan Google'.

SubscriptionState

Status potensi tempat langganan dapat berada, misalnya apakah langganan aktif atau dibatalkan. Item dalam pembelian langganan dapat berupa paket perpanjangan otomatis atau paket prabayar.

Enum
SUBSCRIPTION_STATE_UNSPECIFIED Status langganan tidak ditentukan.
SUBSCRIPTION_STATE_PENDING Langganan telah dibuat tetapi menunggu pembayaran selama pendaftaran. Dalam status ini, semua item menunggu pembayaran.
SUBSCRIPTION_STATE_ACTIVE Langganan aktif. - (1) Jika langganan adalah paket perpanjangan otomatis, setidaknya satu item adalah autoRenewEnabled dan belum habis masa berlakunya. - (2) Jika langganan adalah paket prabayar, setidaknya satu item belum habis masa berlakunya.
SUBSCRIPTION_STATE_PAUSED Langganan dijeda. Status ini hanya tersedia jika langganan adalah paket perpanjangan otomatis. Dalam status ini, semua item dalam status dijeda.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD Langganan berada dalam masa tenggang. Status ini hanya tersedia jika langganan adalah paket perpanjangan otomatis. Dalam status ini, semua item berada dalam masa tenggang.
SUBSCRIPTION_STATE_ON_HOLD Langganan ditangguhkan (ditangguhkan). Status ini hanya tersedia jika langganan adalah paket perpanjangan otomatis. Dalam status ini, semua item ditangguhkan.
SUBSCRIPTION_STATE_CANCELED Langganan dibatalkan tapi belum habis masa berlakunya. Status ini hanya tersedia jika langganan adalah paket perpanjangan otomatis. AutoRenewEnabled ditetapkan ke false untuk semua item.
SUBSCRIPTION_STATE_EXPIRED Masa berlaku langganan berakhir. Semua item memiliki expiryTime di masa lalu.

PausedStateContext

Informasi khusus langganan dalam status dijeda.

Representasi JSON
{
  "autoResumeTime": string
}
Kolom
autoResumeTime

string (Timestamp format)

Waktu saat langganan akan dilanjutkan secara otomatis.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Informasi khusus untuk langganan dalam status dibatalkan.

Representasi JSON
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
Kolom
Kolom union cancellation_reason. Alasan langganan dibatalkan. cancellation_reason hanya ada berupa salah satu diantara berikut:
userInitiatedCancellation

object (UserInitiatedCancellation)

Langganan dibatalkan oleh pengguna.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

Langganan dibatalkan oleh sistem, misalnya karena masalah penagihan.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

Langganan dibatalkan oleh developer.

replacementCancellation

object (ReplacementCancellation)

Langganan diganti dengan langganan baru.

UserInitiatedCancellation

Informasi khusus untuk pembatalan yang dimulai oleh pengguna.

Representasi JSON
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
Kolom
cancelSurveyResult

object (CancelSurveyResult)

Informasi yang diberikan oleh pengguna saat mereka menyelesaikan alur pembatalan langganan (survei alasan pembatalan).

cancelTime

string (Timestamp format)

Waktu langganan dibatalkan oleh pengguna. Setelah itu, pengguna mungkin masih memiliki akses ke langganan. Gunakan lineItems.expiry_time untuk menentukan apakah pengguna masih memiliki akses.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

CancelSurveyResult

Hasil survei pembatalan saat langganan dibatalkan oleh pengguna.

Representasi JSON
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
Kolom
reason

enum (CancelSurveyReason)

Alasan pengguna memilih di survei pembatalan.

reasonUserInput

string

Hanya ditetapkan untuk CANCEL_SURVEY_REASON_OTHERS. Ini adalah respons pengguna dalam bentuk bebas terhadap survei.

CancelSurveyReason

Alasan pengguna memilih di survei pembatalan.

Enum
CANCEL_SURVEY_REASON_UNSPECIFIED Alasan pembatalan survei tidak ditentukan.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Penggunaan langganan tidak memadai.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Masalah teknis saat menggunakan aplikasi.
CANCEL_SURVEY_REASON_FOUND_BETTER_APP Pengguna menemukan aplikasi yang lebih baik.
CANCEL_SURVEY_REASON_OTHERS Alasan lainnya.

SystemInitiatedCancellation

Jenis ini tidak memiliki kolom.

Informasi khusus untuk pembatalan yang dimulai oleh sistem Google.

DeveloperInitiatedCancellation

Jenis ini tidak memiliki kolom.

Informasi khusus untuk pembatalan yang dimulai oleh developer.

ReplacementCancellation

Jenis ini tidak memiliki kolom.

Informasi khusus untuk pembatalan yang disebabkan oleh penggantian langganan.

TestPurchase

Jenis ini tidak memiliki kolom.

Apakah pembelian langganan ini merupakan pembelian uji coba.

AcknowledgementState

Status konfirmasi yang mungkin untuk langganan.

Enum
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Status konfirmasi tidak ditentukan.
ACKNOWLEDGEMENT_STATE_PENDING Langganan belum dikonfirmasi.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Langganan telah dikonfirmasi.

ExternalAccountIdentifiers

ID akun pengguna di layanan pihak ketiga.

Representasi JSON
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Kolom
externalAccountId

string

ID akun pengguna di layanan pihak ketiga. Hanya ada jika penautan akun terjadi sebagai bagian dari alur pembelian langganan.

obfuscatedExternalAccountId

string

Versi ID yang di-obfuscate yang secara unik terkait dengan akun pengguna di aplikasi Anda. Ditampilkan untuk pembelian berikut: * Jika penautan akun terjadi sebagai bagian dari alur pembelian langganan. * Atribut ini ditentukan menggunakan https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid saat pembelian dilakukan.

obfuscatedExternalProfileId

string

Versi obfuscation dari ID yang secara unik terkait dengan profil pengguna di aplikasi Anda. Hanya tampilkan jika ditentukan menggunakan https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid saat pembelian dilakukan.

SubscribeWithGoogleInfo

Informasi terkait pembelian yang dilakukan dengan 'Berlangganan dengan Google'.

Representasi JSON
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
Kolom
profileId

string

ID profil Google pengguna saat langganan dibeli.

profileName

string

Nama profil pengguna saat langganan dibeli.

emailAddress

string

Alamat email pengguna saat langganan dibeli.

givenName

string

Nama depan pengguna saat langganan dibeli.

familyName

string

Nama keluarga pengguna saat langganan dibeli.

SubscriptionPurchaseLineItem

Info tingkat item untuk pembelian langganan.

Representasi JSON
{
  "productId": string,
  "expiryTime": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  }
  // End of list of possible types for union field deferred_item_change.
}
Kolom
productId

string

ID produk yang dibeli (misalnya, 'monthly001').

expiryTime

string (Timestamp format)

Waktu saat langganan berakhir atau akan habis masa berlakunya kecuali jika akses diperpanjang (misalnya diperpanjang).

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

Kolom union plan_type. Jenis paket langganan. plan_type hanya ada berupa salah satu diantara berikut:
autoRenewingPlan

object (AutoRenewingPlan)

Item diperpanjang otomatis.

prepaidPlan

object (PrepaidPlan)

Item sudah prabayar.

offerDetails

object (OfferDetails)

Detail penawaran untuk item ini.

Kolom union deferred_item_change. Kolom ini muncul saat item memiliki perubahan yang ditangguhkan. Atribut ini dapat dihapus atau diganti. deferred_item_change hanya ada berupa salah satu diantara berikut:
deferredItemReplacement

object (DeferredItemReplacement)

Informasi untuk penggantian item yang ditangguhkan.

AutoRenewingPlan

Informasi terkait paket perpanjangan otomatis.

Representasi JSON
{
  "autoRenewEnabled": boolean,
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  }
}
Kolom
autoRenewEnabled

boolean

Jika langganan saat ini disetel ke perpanjangan otomatis, misalnya pengguna belum membatalkan langganan

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Informasi perubahan harga terakhir untuk item sejak pendaftaran langganan.

SubscriptionItemPriceChangeDetails

Informasi terkait perubahan harga item langganan.

Representasi JSON
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
Kolom
newPrice

object (Money)

Harga berulang baru untuk item langganan.

priceChangeMode

enum (PriceChangeMode)

Mode perubahan harga menentukan perubahan harga item langganan.

priceChangeState

enum (PriceChangeState)

Sebutkan perubahan harga yang berlaku saat ini.

expectedNewPriceChargeTime

string (Timestamp format)

Waktu perpanjangan saat perubahan harga akan berlaku bagi pengguna. Opsi ini dapat berubah(pada waktu mendatang) karena perubahan waktu perpanjangan seperti jeda. Kolom ini hanya diisi jika perubahan harga belum diterapkan.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

PriceChangeMode

Mode perubahan harga.

Enum
PRICE_CHANGE_MODE_UNSPECIFIED Mode perubahan harga belum ditetapkan. Nilai ini tidak boleh ditetapkan.
PRICE_DECREASE Jika harga langganan turun.
PRICE_INCREASE Jika harga langganan naik dan pengguna harus menyetujuinya.
OPT_OUT_PRICE_INCREASE Jika harga langganan naik dengan mode pilih tidak ikut.

PriceChangeState

Status perubahan harga.

Enum
PRICE_CHANGE_STATE_UNSPECIFIED Status perubahan harga belum ditetapkan. Nilai ini tidak boleh digunakan.
OUTSTANDING Menunggu pengguna menyetujui perubahan harga.
CONFIRMED Perubahan harga dipastikan terjadi untuk pengguna.
APPLIED Perubahan harga diterapkan, yaitu pengguna mulai ditagih harga baru.

PrepaidPlan

Informasi yang terkait dengan paket prabayar.

Representasi JSON
{
  "allowExtendAfterTime": string
}
Kolom
allowExtendAfterTime

string (Timestamp format)

Jika ada, ini adalah jangka waktu setelah pembelian penambahan saldo diizinkan untuk paket prabayar. Tidak akan tersedia untuk paket prabayar yang habis masa berlakunya.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

OfferDetails

Informasi detail penawaran yang terkait dengan item baris pembelian.

Representasi JSON
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
Kolom
offerTags[]

string

Tag penawaran terbaru yang terkait dengan penawaran. Ini mencakup tag yang diwarisi dari paket dasar.

basePlanId

string

ID paket dasar. Tersedia untuk semua penawaran dan paket dasar.

offerId

string

ID penawaran. Hanya ada untuk penawaran diskon.

DeferredItemReplacement

Informasi yang terkait dengan penggantian item yang ditangguhkan.

Representasi JSON
{
  "productId": string
}
Kolom
productId

string

ID produk akan menggantikan productId yang sudah ada.

Metode

get

Mendapatkan metadata tentang langganan

revoke

Mencabut pembelian langganan untuk pengguna.