REST Resource: purchases.subscriptionsv2

Resource: 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 berupa paket AutoRenewingPlan atau semua dengan PrabayarPlan.

startTime

string (Timestamp format)

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

Stempel waktu dalam 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 dari pesanan terbaru yang terkait dengan pembelian langganan. Untuk langganan Perpanjangan Otomatis, ini adalah id pesanan pesanan pendaftaran jika belum diperpanjang, atau id pesanan berulang terakhir (pesanan berhasil, tertunda, atau ditolak). Untuk langganan prabayar, ID pesanan ini 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 lama * Mengupgrade/mendowngrade dari langganan sebelumnya. * Konversi langganan dari prabayar ke perpanjangan otomatis. * Mengonversi dari langganan yang diperpanjang otomatis ke prabayar. * Menambah saldo langganan prabayar.

pausedStateContext

object (PausedStateContext)

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

canceledStateContext

object (CanceledStateContext)

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

testPurchase

object (TestPurchase)

Hanya ada jika pembelian langganan ini adalah pembelian percobaan.

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

Kemungkinan status langganan, misalnya apakah langganan aktif atau dibatalkan. Item dalam pembelian langganan dapat berupa semua paket perpanjangan otomatis atau paket prabayar.

Enum
SUBSCRIPTION_STATE_UNSPECIFIED Status langganan tidak ditentukan.
SUBSCRIPTION_STATE_PENDING Langganan telah dibuat tetapi menunggu pembayaran saat 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 hanya tersedia jika langganan adalah paket yang diperpanjang otomatis. Dalam status ini, semua item dalam status dijeda.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD Langganan berada dalam masa tenggang. Status hanya tersedia jika langganan adalah paket yang diperpanjang otomatis. Dalam status ini, semua item berada dalam masa tenggang.
SUBSCRIPTION_STATE_ON_HOLD Langganan ditangguhkan (ditangguhkan). Status hanya tersedia jika langganan adalah paket yang diperpanjang otomatis. Dalam status ini, semua item ditangguhkan.
SUBSCRIPTION_STATE_CANCELED Langganan dibatalkan tetapi masa berlakunya belum habis. Status hanya tersedia jika langganan adalah paket yang diperpanjang otomatis. Semua item memiliki autoRenewEnabled yang disetel ke salah (false).
SUBSCRIPTION_STATE_EXPIRED Masa berlaku langganan berakhir. Semua item memiliki masa berlaku (expiryTime) pada masa lalu.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Transaksi tertunda untuk langganan dibatalkan. Jika pembelian tertunda ini adalah untuk langganan yang sudah ada, gunakan linkedPurchaseToken untuk mendapatkan status langganan tersebut saat ini.

PausedStateContext

Informasi khusus tentang langganan yang berstatus dijeda.

Representasi JSON
{
  "autoResumeTime": string
}
Kolom
autoResumeTime

string (Timestamp format)

Waktu saat langganan akan dilanjutkan secara otomatis.

Stempel waktu dalam 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 tentang langganan di negara bagian SUBSCRIPTION_STATE_CANCELED atau SUBSCRIPTION_STATE_EXPIRED.

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 dapat berupa salah satu dari 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 saat langganan dibatalkan oleh pengguna. Pengguna mungkin masih memiliki akses ke langganan setelah jangka waktu tersebut. Gunakan lineItems.expiry_time untuk menentukan apakah pengguna masih memiliki akses atau tidak.

Stempel waktu dalam 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 dalam survei pembatalan.

reasonUserInput

string

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

CancelSurveyReason

Alasan pengguna memilih dalam 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 lain.

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 pembatalan yang disebabkan oleh penggantian langganan.

TestPurchase

Jenis ini tidak memiliki kolom.

Apakah pembelian langganan ini merupakan pembelian percobaan.

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. * ID ini ditentukan menggunakan https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid saat pembelian dilakukan.

obfuscatedExternalProfileId

string

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

SubscribeWithGoogleInfo

Informasi yang terkait dengan pembelian yang dilakukan menggunakan '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 pengguna yang ditentukan 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 telah habis masa berlakunya atau akan habis masa berlakunya kecuali jika akses diperpanjang (misalnya, perpanjangan).

Stempel waktu dalam 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 dapat berupa salah satu dari berikut:
autoRenewingPlan

object (AutoRenewingPlan)

Item diperpanjang otomatis.

prepaidPlan

object (PrepaidPlan)

Item tersebut bersifat prabayar.

offerDetails

object (OfferDetails)

Detail penawaran untuk item ini.

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

object (DeferredItemReplacement)

Informasi untuk penggantian item yang ditangguhkan.

AutoRenewingPlan

Informasi yang terkait dengan paket perpanjangan otomatis.

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

boolean

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

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Informasi perubahan harga terakhir untuk item sejak pendaftaran langganan.

installmentDetails

object (InstallmentPlan)

Komitmen paket cicilan dan info terkait negara bagian untuk paket perpanjangan otomatis.

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 yang baru untuk item langganan.

priceChangeMode

enum (PriceChangeMode)

Mode perubahan harga menentukan perubahan harga item langganan.

priceChangeState

enum (PriceChangeState)

Sebutkan perubahan harga saat ini.

expectedNewPriceChargeTime

string (Timestamp format)

Waktu perpanjangan saat perubahan harga akan berlaku untuk pengguna. Hal ini dapat berubah(ke waktu mendatang) karena waktu perpanjangan bergeser seperti masa jeda. Kolom ini hanya diisi jika perubahan harga tidak diterapkan.

Stempel waktu dalam 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 ditentukan. Nilai ini tidak boleh ditetapkan.
PRICE_DECREASE Jika harga langganan menurun.
PRICE_INCREASE Jika harga langganan naik dan pengguna harus menyetujuinya.
OPT_OUT_PRICE_INCREASE Jika harga langganan naik karena mode tidak ikut serta.

PriceChangeState

Status perubahan harga.

Enum
PRICE_CHANGE_STATE_UNSPECIFIED Status perubahan harga belum ditentukan. Nilai ini tidak boleh digunakan.
OUTSTANDING Menunggu pengguna menyetujui perubahan harga.
CONFIRMED Perubahan harga telah terkonfirmasi untuk pengguna.
APPLIED Perubahan harga akan diterapkan, yaitu pengguna sudah mulai ditagih dengan harga baru.

InstallmentPlan

Informasi untuk paket cicilan.

Representasi JSON
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
Kolom
initialCommittedPaymentsCount

integer

Jumlah total pembayaran yang menjadi komitmen awal pengguna.

subsequentCommittedPaymentsCount

integer

Jumlah total pembayaran yang akan dilakukan pengguna setelah setiap periode komitmen. Kosong berarti paket cicilan akan kembali ke langganan perpanjangan otomatis normal setelah komitmen awal.

remainingCommittedPaymentsCount

integer

Jumlah total komitmen pembayaran yang harus dibayar dalam siklus perpanjangan ini.

pendingCancellation

object (PendingCancellation)

Jika ada, paket cicilan ini tertunda untuk dibatalkan. Pembatalan hanya akan terjadi setelah pengguna menyelesaikan semua komitmen pembayaran.

PendingCancellation

Jenis ini tidak memiliki kolom.

Ini adalah indikator apakah ada penundaan pembatalan pada paket cicilan virtual. Pembatalan hanya akan terjadi setelah pengguna menyelesaikan semua komitmen pembayaran.

PrepaidPlan

Informasi yang terkait dengan paket prabayar.

Representasi JSON
{
  "allowExtendAfterTime": string
}
Kolom
allowExtendAfterTime

string (Timestamp format)

Jika ada, ini adalah waktu saat pembelian penambahan saldo diizinkan untuk paket prabayar. Tidak akan ada untuk paket prabayar yang sudah tidak berlaku.

Stempel waktu dalam 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. Paket ini mencakup tag yang diwarisi dari paket dasar.

basePlanId

string

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

offerId

string

ID penawaran. Hanya hadir untuk penawaran diskon.

DeferredItemReplacement

Informasi terkait penggantian item yang ditangguhkan.

Representasi JSON
{
  "productId": string
}
Kolom
productId

string

ProductId akan menggantikan productId yang ada.

Metode

get

Mendapatkan metadata tentang langganan

revoke

Mencabut pembelian langganan untuk pengguna.