Resource: ProductPurchase
Resource ProductPurchase menunjukkan status pembelian produk dalam aplikasi pengguna.
| Representasi JSON |
|---|
{ "kind": string, "purchaseTimeMillis": string, "purchaseState": integer, "consumptionState": integer, "developerPayload": string, "orderId": string, "purchaseType": integer, "acknowledgementState": integer, "purchaseToken": string, "productId": string, "quantity": integer, "obfuscatedExternalAccountId": string, "obfuscatedExternalProfileId": string, "regionCode": string, "refundableQuantity": integer } |
| Kolom | |
|---|---|
kind |
Jenis ini menampilkan objek inappPurchase di layanan androidpublisher. |
purchaseTimeMillis |
Waktu produk dibeli, dalam milidetik sejak epoch (1 Jan 1970). |
purchaseState |
Status pembelian pesanan. Nilai yang mungkin adalah: 0. Dibeli 1. Dibatalkan 2. Tertunda |
consumptionState |
Status pemakaian produk dalam aplikasi. Nilai yang mungkin adalah: 0. Belum dipakai 1. Mengonsumsi |
developerPayload |
String yang ditentukan developer yang berisi informasi tambahan tentang pesanan. |
orderId |
ID pesanan yang terkait dengan pembelian produk dalam aplikasi. |
purchaseType |
Jenis pembelian produk dalam aplikasi. Kolom ini hanya disetel jika pembelian ini tidak dilakukan menggunakan alur penagihan dalam aplikasi standar. Nilai yang mungkin adalah: 0. Test (yaitu dibeli dari akun pengujian lisensi) 1. Promo (yaitu dibeli menggunakan kode promo). Tidak termasuk pembelian Play Points. 2. Reward (yaitu dari menonton iklan video daripada membayar) |
acknowledgementState |
Status konfirmasi produk dalam aplikasi. Nilai yang mungkin adalah: 0. Belum dikonfirmasi 1. Dikonfirmasi |
purchaseToken |
Token pembelian yang dibuat untuk mengidentifikasi pembelian ini. Mungkin tidak ada. |
productId |
SKU produk dalam aplikasi. Mungkin tidak ada. |
quantity |
Jumlah yang terkait dengan pembelian produk dalam aplikasi. Jika tidak ada, jumlahnya adalah 1. |
obfuscatedExternalAccountId |
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 |
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 |
Kode wilayah penagihan ISO 3166-1 alpha-2 pengguna pada saat produk diberikan. |
refundableQuantity |
Jumlah yang memenuhi syarat untuk pengembalian dana, yaitu jumlah yang belum dikembalikan dananya. Nilainya mencerminkan pengembalian dana sebagian dan pengembalian dana penuh berdasarkan jumlah. |
Metode |
|
|---|---|
|
Mengonfirmasi pembelian item dalam aplikasi. |
|
Memakai pembelian untuk item dalam aplikasi. |
|
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. |