- Referensi: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- Metode
Referensi: SubscriptionPurchaseV2
Menunjukkan status pembelian langganan pengguna.
Representasi JSON |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
Kolom | |
---|---|
kind |
Jenis ini mewakili objek SubscriptionPurchaseV2 di layanan androidpublisher. |
regionCode |
Kode negara/wilayah penagihan ISO 3166-1 alpha-2 pengguna pada saat langganan diberikan. |
lineItems[] |
Info tingkat item untuk pembelian langganan. Item dalam pembelian yang sama harus semuanya dengan AutoRenewingPlan atau semuanya dengan PrabayarPlan. |
startTime |
Waktu pemberian langganan. 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 maksimal sembilan digit fraksional. Contoh: |
subscriptionState |
Status langganan saat ini. |
latestOrderId |
ID pesanan pada 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, ini adalah ID pesanan yang terkait dengan token pembelian yang dikueri. |
linkedPurchaseToken |
Token pembelian langganan lama jika langganan ini adalah salah satu dari yang berikut: * Pendaftaran ulang langganan yang dibatalkan tetapi tidak habis masa berlakunya * Upgrade/downgrade dari langganan sebelumnya. * Konversi dari langganan prabayar ke langganan yang diperpanjang otomatis. * Beralih dari langganan yang diperpanjang otomatis ke prabayar. * Tambah saldo langganan prabayar. |
pausedStateContext |
Konteks tambahan seputar langganan yang dijeda. Hanya ada jika langganan saat ini memiliki subscriptionState SUBSCRIPTION_STATE_PAused. |
canceledStateContext |
Konteks tambahan seputar langganan yang dibatalkan. Hanya ada jika langganan saat ini memiliki subscriptionState SUBSCRIPTION_STATE_CANCELED atau SUBSCRIPTION_STATE_EXPIRED. |
testPurchase |
Hanya ada jika pembelian langganan ini adalah pembelian percobaan. |
acknowledgementState |
Status konfirmasi langganan. |
externalAccountIdentifiers |
ID akun pengguna di layanan pihak ketiga. |
subscribeWithGoogleInfo |
Profil pengguna yang terkait dengan pembelian yang dilakukan menggunakan 'Berlangganan dengan Google'. |
SubscriptionState
Status potensial 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 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 tidak habis masa berlakunya. - (2) Jika langganan adalah paket prabayar, setidaknya satu item masih 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 tetapi masa berlakunya belum habis. Status ini hanya tersedia jika langganan adalah paket perpanjangan otomatis. AutoRenewEnabled ditetapkan ke false untuk semua item. |
SUBSCRIPTION_STATE_EXPIRED |
Masa berlaku langganan telah berakhir. Semua item memiliki expiryTime di masa lalu. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
Transaksi yang tertunda untuk langganan dibatalkan. Jika pembelian tertunda ini ditujukan untuk langganan yang sudah ada, gunakan linkedPurchaseToken untuk mendapatkan status langganan saat ini. |
PausedStateContext
Informasi khusus langganan dalam status dijeda.
Representasi JSON |
---|
{ "autoResumeTime": string } |
Kolom | |
---|---|
autoResumeTime |
Waktu saat langganan akan dilanjutkan secara otomatis. Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
CanceledStateContext
Informasi khusus langganan dalam status SUBSCRIPTION_STATE_CANCELED atau SUBSCRIPTION_STATE_EXPIRED.
Representasi JSON |
---|
{ // Union field |
Kolom | |
---|---|
Kolom union cancellation_reason . Alasan pembatalan langganan. cancellation_reason hanya ada berupa salah satu diantara berikut: |
|
userInitiatedCancellation |
Langganan dibatalkan oleh pengguna. |
systemInitiatedCancellation |
Langganan dibatalkan oleh sistem, misalnya karena masalah penagihan. |
developerInitiatedCancellation |
Langganan dibatalkan oleh developer. |
replacementCancellation |
Langganan diganti dengan langganan baru. |
UserInitiatedCancellation
Informasi khusus untuk pembatalan yang dimulai oleh pengguna.
Representasi JSON |
---|
{
"cancelSurveyResult": {
object ( |
Kolom | |
---|---|
cancelSurveyResult |
Informasi yang diberikan oleh pengguna saat menyelesaikan alur pembatalan langganan (survei alasan pembatalan). |
cancelTime |
Waktu saat 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 maksimal sembilan digit fraksional. Contoh: |
CancelSurveyResult
Hasil survei pembatalan saat langganan dibatalkan oleh pengguna.
Representasi JSON |
---|
{
"reason": enum ( |
Kolom | |
---|---|
reason |
Alasan pengguna memilih di survei pembatalan. |
reasonUserInput |
Hanya disetel 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_COST_RELATED |
Masalah terkait biaya. |
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 untuk pembatalan yang disebabkan oleh penggantian langganan.
TestPurchase
Jenis ini tidak memiliki kolom.
Apakah pembelian langganan ini merupakan pembelian percobaan.
AcknowledgementState
Kemungkinan status konfirmasi 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 |
ID akun pengguna di layanan pihak ketiga. Hanya ada jika penautan akun terjadi sebagai bagian dari alur pembelian langganan. |
obfuscatedExternalAccountId |
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. * Penentuan ini ditentukan menggunakan https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid saat pembelian dilakukan. |
obfuscatedExternalProfileId |
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 terkait pembelian yang dilakukan dengan 'Berlangganan dengan Google'.
Representasi JSON |
---|
{ "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } |
Kolom | |
---|---|
profileId |
ID profil Google pengguna saat langganan dibeli. |
profileName |
Nama profil pengguna saat langganan dibeli. |
emailAddress |
Alamat email pengguna saat langganan dibeli. |
givenName |
Nama depan pengguna saat langganan dibeli. |
familyName |
Nama keluarga pengguna saat langganan dibeli. |
SubscriptionPurchaseLineItem
Info tingkat item untuk pembelian langganan.
Representasi JSON |
---|
{ "productId": string, "expiryTime": string, // Union field |
Kolom | |
---|---|
productId |
ID produk yang dibeli (misalnya, 'monthly001'). |
expiryTime |
Waktu saat langganan akan habis masa berlakunya atau akan habis masa berlakunya kecuali jika akses diperpanjang (misalnya, diperpanjang). Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
Kolom union plan_type . Jenis paket langganan. plan_type hanya ada berupa salah satu diantara berikut: |
|
autoRenewingPlan |
Item diperpanjang otomatis. |
prepaidPlan |
Item bersifat prabayar. |
offerDetails |
Detail penawaran untuk item ini. |
Kolom union deferred_item_change . Kolom ini ada saat item memiliki perubahan yang ditangguhkan. Data tersebut dapat dihapus atau diganti. deferred_item_change hanya ada berupa salah satu diantara berikut: |
|
deferredItemReplacement |
Informasi untuk penggantian item yang ditangguhkan. |
AutoRenewingPlan
Informasi terkait paket perpanjangan otomatis.
Representasi JSON |
---|
{ "autoRenewEnabled": boolean, "priceChangeDetails": { object ( |
Kolom | |
---|---|
autoRenewEnabled |
Jika saat ini langganan disetel agar diperpanjang otomatis, mis. pengguna belum membatalkan langganan |
priceChangeDetails |
Informasi perubahan harga terakhir untuk item sejak pendaftaran langganan. |
installmentDetails |
Komitmen paket cicilan dan info terkait negara bagian untuk paket perpanjangan otomatis. |
SubscriptionItemPriceChangeDetails
Informasi terkait perubahan harga untuk item langganan.
Representasi JSON |
---|
{ "newPrice": { object ( |
Kolom | |
---|---|
newPrice |
Harga berulang baru untuk item langganan. |
priceChangeMode |
Mode perubahan harga menentukan perubahan harga item langganan. |
priceChangeState |
Sebutkan perubahan harga yang terjadi saat ini. |
expectedNewPriceChargeTime |
Waktu perpanjangan saat perubahan harga akan mulai berlaku bagi pengguna. Hal ini dapat berubah(pada waktu yang akan datang) karena jangka waktu perpanjangan bergeser seperti jeda. Kolom ini hanya diisi jika perubahan harga belum diterapkan. Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
PriceChangeMode
Mode perubahan harga.
Enum | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED |
Mode perubahan harga belum ditetapkan. Nilai ini tidak boleh ditetapkan. |
PRICE_DECREASE |
Jika harga langganan mengalami penurunan. |
PRICE_INCREASE |
Jika harga langganan naik dan pengguna harus menerimanya. |
OPT_OUT_PRICE_INCREASE |
Jika harga langganan naik dengan mode pilihan 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 telah dikonfirmasi untuk terjadi bagi pengguna. |
APPLIED |
Perubahan harga diterapkan, yaitu pengguna mulai ditagih dengan harga baru. |
InstallmentPlan
Informasi untuk paket cicilan.
Representasi JSON |
---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
Kolom | |
---|---|
initialCommittedPaymentsCount |
Total jumlah pembayaran yang pada awalnya menjadi komitmen pengguna. |
subsequentCommittedPaymentsCount |
Total jumlah pembayaran yang akan dilakukan pengguna setelah setiap periode komitmen. Kosong berarti paket cicilan akan kembali ke langganan perpanjangan otomatis normal setelah komitmen awal. |
remainingCommittedPaymentsCount |
Jumlah total komitmen pembayaran yang tersisa yang harus dibayar dalam siklus perpanjangan ini. |
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 pembatalan yang tertunda pada paket cicilan virtual. Pembatalan hanya akan terjadi setelah pengguna menyelesaikan semua komitmen pembayaran.
PrepaidPlan
Informasi terkait paket prabayar.
Representasi JSON |
---|
{ "allowExtendAfterTime": string } |
Kolom | |
---|---|
allowExtendAfterTime |
Jika ada, ini adalah waktu setelah pembelian penambahan saldo diizinkan untuk paket prabayar. Tidak akan ada untuk paket prabayar yang sudah habis masa berlakunya. Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
OfferDetails
Informasi detail penawaran yang terkait dengan item baris pembelian.
Representasi JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
Kolom | |
---|---|
offerTags[] |
Tag penawaran terbaru yang terkait dengan penawaran. Paket ini mencakup tag yang diwarisi dari paket dasar. |
basePlanId |
ID paket dasar. Tersedia untuk semua penawaran dan paket dasar. |
offerId |
ID penawaran. Hanya ada untuk penawaran diskon. |
DeferredItemReplacement
Informasi terkait penggantian item yang ditangguhkan.
Representasi JSON |
---|
{ "productId": string } |
Kolom | |
---|---|
productId |
productId akan menggantikan productId yang sudah ada. |
Metode |
|
---|---|
|
Mendapatkan metadata tentang langganan |
|
Mencabut pembelian langganan untuk pengguna. |