REST Resource: purchases.productsv2

Resource: ProductPurchaseV2

Resource ProductPurchaseV2 menunjukkan status pembelian produk dalam aplikasi pengguna.

Representasi JSON
{
  "productLineItem": [
    {
      object (ProductLineItem)
    }
  ],
  "kind": string,
  "purchaseStateContext": {
    object (PurchaseStateContext)
  },
  "testPurchaseContext": {
    object (TestPurchaseContext)
  },
  "orderId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "purchaseCompletionTime": string,
  "acknowledgementState": enum (AcknowledgementState)
}
Kolom
productLineItem[]

object (ProductLineItem)

Berisi info tingkat item untuk ProductPurchaseV2.

kind

string

Jenis ini menampilkan objek ProductPurchaseV2 di layanan androidpublisher.

purchaseStateContext

object (PurchaseStateContext)

Informasi tentang status pembelian.

testPurchaseContext

object (TestPurchaseContext)

Informasi terkait pembelian uji coba. Ini hanya akan ditetapkan untuk pembelian uji coba.

orderId

string

ID pesanan yang terkait dengan pembelian produk dalam aplikasi. Mungkin tidak ditetapkan jika tidak ada pesanan yang terkait dengan pembelian.

obfuscatedExternalAccountId

string

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

obfuscatedExternalProfileId

string

Versi ID yang di-obfuscate dan terkait secara unik 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.

regionCode

string

Kode wilayah penagihan ISO 3166-1 alpha-2 pengguna pada saat produk diberikan.

purchaseCompletionTime

string (Timestamp format)

Waktu saat pembelian berhasil, yaitu saat PurchaseState berubah menjadi PURCHASED. Kolom ini tidak akan ada hingga pembayaran selesai. Misalnya, jika pengguna memulai transaksi tertunda (https://developer.android.com/google/play/billing/integrate#pending), kolom ini tidak akan diisi hingga pengguna berhasil menyelesaikan langkah-langkah yang diperlukan untuk menyelesaikan transaksi.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

acknowledgementState

enum (AcknowledgementState)

Hanya output. Status konfirmasi pembelian.

PurchaseStateContext

Konteks tentang status pembelian.

Representasi JSON
{
  "purchaseState": enum (PurchaseState)
}
Kolom
purchaseState

enum (PurchaseState)

Hanya output. Status pembelian.

PurchaseState

Kemungkinan status pembelian.

Enum
PURCHASE_STATE_UNSPECIFIED Status pembelian tidak ditentukan. Nilai ini tidak boleh disetel.
PURCHASED Berhasil dibeli.
CANCELLED Pembelian dibatalkan.
PENDING Pembelian dalam status menunggu pembayaran dan belum selesai. Untuk mengetahui informasi selengkapnya tentang cara menangani pembelian yang tertunda, lihat https://developer.android.com/google/play/billing/integrate#pending.

TestPurchaseContext

Konteks tentang uji pembelian.

Representasi JSON
{
  "fopType": enum (FopType)
}
Kolom
fopType

enum (FopType)

Jenis fop pembelian uji coba.

FopType

Kemungkinan jenis fop.

Enum
FOP_TYPE_UNSPECIFIED Jenis FOP tidak ditentukan. Nilai ini tidak boleh disetel.
TEST Pembelian dilakukan menggunakan kartu uji.

ProductLineItem

Berisi info tingkat item untuk ProductPurchaseV2.

Representasi JSON
{
  "productId": string,
  "productOfferDetails": {
    object (ProductOfferDetails)
  }
}
Kolom
productId

string

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

productOfferDetails

object (ProductOfferDetails)

Detail penawaran untuk item ini.

ProductOfferDetails

Informasi detail penawaran terkait item baris pembelian.

Representasi JSON
{
  "offerTags": [
    string
  ],
  "offerId": string,
  "purchaseOptionId": string,
  "rentOfferDetails": {
    object (RentOfferDetails)
  },
  "offerToken": string,
  "quantity": integer,
  "refundableQuantity": integer,
  "consumptionState": enum (ConsumptionState)
}
Kolom
offerTags[]

string

Tag penawaran terbaru yang terkait dengan penawaran. Ini termasuk tag yang diambil dari opsi pembelian.

offerId

string

ID penawaran. Hanya ada untuk penawaran.

purchaseOptionId

string

ID opsi pembelian.

rentOfferDetails

object (RentOfferDetails)

Detail penawaran tentang penawaran sewa. Nilai ini hanya akan ditetapkan untuk item baris sewa.

offerToken

string

Token penawaran per transaksi yang digunakan untuk membuat item baris pembelian ini.

quantity

integer

Jumlah yang terkait dengan pembelian produk dalam aplikasi.

refundableQuantity

integer

Jumlah yang memenuhi syarat untuk pengembalian dana, yaitu jumlah yang belum dikembalikan dananya. Nilainya mencerminkan pengembalian dana sebagian dan pengembalian dana penuh berdasarkan jumlah.

consumptionState

enum (ConsumptionState)

Hanya output. Status pemakaian pembelian.

RentOfferDetails

Jenis ini tidak memiliki kolom.

Informasi detail penawaran terkait item baris rental.

ConsumptionState

Kemungkinan status konsumsi.

Enum
CONSUMPTION_STATE_UNSPECIFIED Status penggunaan tidak ditentukan. Nilai ini tidak boleh disetel.
CONSUMPTION_STATE_YET_TO_BE_CONSUMED Belum dipakai.
CONSUMPTION_STATE_CONSUMED Sudah digunakan.

AcknowledgementState

Status konfirmasi produk sekali beli.

Enum
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Status konfirmasi tidak ditentukan.
ACKNOWLEDGEMENT_STATE_PENDING Pembelian belum dikonfirmasi.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Pembelian dikonfirmasi.

Metode

getproductpurchasev2

Memeriksa status pembelian dan pemakaian item dalam aplikasi.

Kode error

Operasi resource ini menampilkan kode error HTTP berikut:

Kode error Alasan Deskripsi Resolusi
400 invalidPurchaseState Pembelian tidak dalam status yang valid untuk melakukan operasi yang diminta. Misalnya, Anda mungkin mencoba mengonfirmasi pembelian yang sudah digunakan atau membatalkan langganan yang tidak aktif. Periksa status resource saat ini menggunakan Get API yang sesuai sebelum mencoba operasi. Pastikan resource berada dalam status yang sesuai untuk tindakan tersebut.
400 invalidValue Nilai yang tidak valid diberikan dalam permintaan. Error ini sering kali ditampilkan untuk token pembelian yang salah bentuk atau tidak valid. Perbaiki nilai kolom yang tidak valid dalam isi atau parameter permintaan berdasarkan referensi API.
400 productNotOwnedByUser Token pembelian yang diberikan valid, tetapi pengguna saat ini tidak memiliki produk. Hal ini dapat terjadi jika pembelian dikembalikan dananya, dibatalkan, atau masa berlakunya habis sebelum dikonfirmasi. Periksa status resource saat ini menggunakan Get API yang sesuai sebelum mencoba operasi. Pastikan resource berada dalam status yang sesuai untuk tindakan tersebut.
400 purchaseTokenMismatch Token pembelian yang diberikan tidak cocok dengan pembelian, nama paket, ID langganan, atau ID produk. Pastikan semua detail dalam permintaan sudah benar dan sesuai satu sama lain.
400 required Kolom atau parameter wajib diisi tidak ada dalam permintaan. Lihat dokumentasi API untuk memastikan semua kolom dan parameter wajib diisi disertakan.
400 unsupportedIabType Operasi tidak didukung untuk jenis Penagihan Dalam Aplikasi yang diberikan. Pastikan metode API kompatibel dengan jenis item yang dikelola.
403 userInsufficientPermission Pengguna tidak memiliki izin yang memadai untuk melakukan operasi yang diminta. Pastikan pengguna yang diautentikasi memiliki izin yang diperlukan di Konsol Google Play. Lihat Menggunakan akun layanan untuk mengetahui detail selengkapnya.
404 notFound Resource yang diminta tidak dapat ditemukan. Verifikasi bahwa ID (misalnya, token pembelian, nama paket, ID produk, ID langganan) sudah benar.
409 concurrentUpdate Ada upaya untuk memperbarui objek yang sedang diperbarui secara bersamaan. Coba lagi permintaan dengan backoff eksponensial. Hindari modifikasi serentak pada resource yang sama.
5xx Generic error Error umum di server Google Play. Coba lagi permintaan Anda.

Jika masalah berlanjut, hubungi pengelola akun Google Play Anda atau kirimkan permintaan dukungan. Pertimbangkan untuk memeriksa Dasbor Status Play untuk mengetahui pemadaman layanan yang diketahui.