Peninjauan chargeback Google Play memberi Anda 24 jam untuk melawan, inilah yang harus dikirim
Ketika sebuah bank menarik kembali tagihan Google Play, Google mengirim server Anda sebuah PendingRefundReviewNotification dan memulai jam hitung 24 jam. Jawablah melalui ReviewRefund API dengan preferensi refund dan bukti konsumsi yang nyata, atau sengketa itu diputuskan tanpa Anda. Inilah seluruh alurnya, bidang demi bidang.

Poin utama
- Peninjauan chargeback Google Play dimulai ketika bank seorang pelanggan membalikkan tagihan dan Google Play mengirim server Anda sebuah PendingRefundReviewNotification. Anda punya 24 jam sejak notifikasi itu untuk menjawab dengan ReviewRefund API.
- Peninjauan chargeback adalah satu-satunya alur refund Android yang meminta bukti dari developer. Refund swalayan 48 jam, refund dukungan, dan pembelian yang dibatalkan semuanya diputuskan tanpa Anda.
- Anda menjawab dengan memanggil orders.reviewrefund dengan refundPreference berupa APPROVE, DECLINE, atau NEUTRAL, plus bukti: sebuah nilai consumptionPercentageMilliunits dan daftar opsional peristiwa penggunaan konsumsi.
- Google Play hanya mencatat panggilan ReviewRefund pertama Anda untuk suatu notifikasi. Setiap panggilan berikutnya diabaikan dan tetap mengembalikan OK, jadi respons pertama Anda harus lengkap dan benar.
- Notifikasi itu membawa sebuah pendingRefundToken dan sebuah orderId, dan satu-satunya alasan refund yang didukung peninjauan tertunda adalah CHARGEBACK, yang datang sebagai code 7.
- consumptionPercentageMilliunits diukur dalam miliunit, jadi 100000 berarti pelanggan menggunakan 100 percent dari yang mereka beli. Itulah cara Anda memberi tahu Google Play bahwa produk telah sepenuhnya dikirim.
- Mulai August 3, 2026, developer menanggung harga pembelian dikurangi biaya layanan Play ditambah biaya chargeback bank pada setiap sengketa yang kalah, jadi peninjauan chargeback yang tidak dijawab adalah beban langsung terhadap pendapatan Anda sendiri.
Ketika bank seorang pelanggan menarik kembali tagihan Google Play, Google Play tidak sekadar mengembalikan uang lalu berlalu. Ia mengirim server Anda sebuah PendingRefundReviewNotification dan memulai jam hitung 24 jam. Jawablah notifikasi itu melalui ReviewRefund API dengan preferensi refund dan bukti tentang apa yang sebenarnya digunakan pelanggan, dan Google Play akan memasukkan input Anda ke dalam cara ia menantang chargeback tersebut. Diam saja, dan sengketa itu diselesaikan tanpa sepatah kata pun dari satu-satunya pihak yang tahu bagaimana produk itu dikonsumsi.
Peninjauan chargeback Google Play adalah satu-satunya alur refund Android yang meminta bukti dari Anda, padanan langsung dari CONSUMPTION_REQUEST milik Apple. Ini lebih penting sekarang dibanding sebelumnya. Mulai August 3, 2026, Google Play memindahkan biaya chargeback ke developer, jadi sengketa yang gagal Anda jawab keluar dari akun Anda, bukan Google. Inilah persis apa yang dibawa notifikasi itu, apa yang Anda kirim balik, bidang-bidang yang membentuk bukti Anda, dan di mana keheningan berubah menjadi uang.
Apa sebenarnya peninjauan chargeback Google Play itu
Chargeback bukanlah permintaan refund. Pelanggan pergi ke bank atau jaringan kartu mereka dan menyengketakan tagihan, dan bank menarik kembali dananya. Google Play menangani sebagian besar ini sendiri. Untuk sebagian kecil, ia membuka peninjauan dan bertanya kepada Anda lebih dulu, karena Anda memegang informasi yang tidak dimiliki Google: apakah pesanan telah dikirim dan berapa banyak yang dikonsumsi pelanggan. Peninjauan itulah alur di balik ReviewRefund API.
Inilah satu-satunya tempat dalam sistem refund Android di mana bukti Anda mengubah hasil. Setiap jalur refund Google Play lainnya berjalan tanpa Anda. Pelanggan bisa melakukan refund secara swalayan dalam 48 jam sejak pembelian, dukungan bisa memberikannya, dan pembelian yang tidak diakui akan di-refund otomatis, semua diputuskan oleh Google. Peninjauan chargeback adalah pengecualian, dan layak diperlakukan sebagai satu-satunya percakapan refund yang benar-benar bisa Anda ikuti.
Ini adalah versi Android dari jendela bukti milik Apple
Dua toko, dua alur yang meminta bukti dari developer, dan itulah seluruh daftarnya. Apple mengirim sebuah CONSUMPTION_REQUEST dan memberi Anda 12 jam untuk menjawab dengan Send Consumption Information. Google Play mengirim sebuah PendingRefundReviewNotification dan memberi Anda 24 jam untuk menjawab dengan orders.reviewrefund. Mekanismenya berbeda, tetapi pelajarannya identik: ketika toko bertanya apa yang digunakan pelanggan, jawaban yang tepat adalah pembeda antara mempertahankan penjualan dan menyerahkannya kembali.
Satu perbedaan penting dalam praktik. Payload konsumsi milik Apple adalah lima bidang numerik dan tidak ada yang lain. Bukti Google Play lebih kaya. Anda bisa mengirim persentase konsumsi ditambah daftar peristiwa penggunaan individual, masing-masing dengan sebuah timestamp, sebuah pengenal akun, dan bahkan sebuah IP address dan location kasar. Google Play memberi Anda lebih banyak ruang untuk menggambarkan pengiriman, yang berarti lebih banyak ruang untuk meyakinkan.
Jam hitung 24 jam dan bagaimana notifikasi sampai kepada Anda
Peninjauan itu tiba sebagai sebuah Real Time Developer Notification di topic Cloud Pub/Sub Anda, saluran yang sama yang mengirimkan peristiwa langganan dan pembelian Anda. Pesannya adalah payload berenkode base64 dengan sebuah objek pendingRefundReviewNotification di dalamnya. Jam hitung dimulai ketika notifikasi itu diterbitkan, bukan ketika Anda kebetulan membacanya, jadi konsumen yang melakukan polling sekali sehari adalah konsumen yang melewatkan sengketa.
PendingRefundReviewNotification, bidang demi bidang
Notifikasinya kecil. Ia memberi tahu Anda pesanan mana yang sedang ditinjau, menyerahkan token yang harus Anda kutip kembali, dan menyebut alasannya. Inilah setiap bidang yang dibawanya.
| Bidang | Tipe | Artinya |
|---|---|---|
| version | string | Versi notifikasi, dimulai dari "1.0" |
| pendingRefundToken | string | Token yang mengidentifikasi peninjauan ini. Anda mengirimkannya kembali dalam panggilan ReviewRefund |
| orderId | string | Pesanan yang sedang ditinjau, misalnya GPA.1234-5678-9012-34567 |
| refundReason | int | Mengapa refund diminta. Peninjauan tertunda selalu hanya membawa CHARGEBACK, code 7 |
| obfuscatedAccountId | string | Id akun yang Anda atur saat pembelian, jika Anda mengaturnya |
| obfuscatedProfileId | string | Id profil yang Anda atur saat pembelian, jika Anda mengaturnya |
Hanya chargeback yang membuka peninjauan tertunda
refundReason pada peninjauan tertunda selalu CHARGEBACK, disampaikan sebagai bilangan bulat 7. Alasan refund lain ada di dunia Google Play, tetapi tidak sampai kepada Anda melalui alur ini, karena Anda tidak punya suara dalam hal itu. Jika Anda melihat sebuah PendingRefundReviewNotification, sebuah bank telah membalikkan tagihan dan Google Play sedang memutuskan apakah akan menantangnya. Itulah satu-satunya pemicunya.
Apa yang Anda kirim balik melalui ReviewRefund API
Anda merespons dengan satu POST ke orders.reviewrefund. Jalur lengkapnya adalah POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/orders/{orderId}:reviewrefund, diotorisasi dengan scope https://www.googleapis.com/auth/androidpublisher, scope OAuth yang sama yang sudah dipakai integrasi Play Developer API Anda. Keberhasilan mengembalikan bodi kosong dengan HTTP 200.
Bodi adalah tempat kasus Anda hidup. Anda menggemakan pendingRefundToken dari notifikasi, menyatakan preferensi refund, dan melampirkan bukti konsumsi.
Preferensi refund Anda adalah rekomendasi, bukan vonis
Bidang refundPreference mengambil salah satu dari tiga nilai, dan itu adalah saran untuk Google Play, bukan keputusan akhir. Google tetap memiliki hasilnya. Tetapi itu saran yang didukung data yang tidak bisa dilihat Google sendiri, jadi itu berbobot.
| refundPreference | Arti |
|---|---|
| APPROVE | Anda lebih memilih Google Play memberikan refund penuh |
| DECLINE | Anda lebih memilih Google Play menolak refund |
| NEUTRAL | Anda tidak punya preferensi dan menyerahkannya kepada Google Play |
| REFUND_PREFERENCE_UNSPECIFIED | Sentinel default, tidak digunakan dalam respons nyata |
Bidang bukti yang mendukung sebuah DECLINE
Sebuah DECLINE polos adalah klaim tanpa bukti. Bidang konsumsi adalah buktinya. consumptionPercentageMilliunits adalah bilangan bulat dalam miliunit, jadi 100000 mengatakan pelanggan mengonsumsi 100 percent dari yang mereka beli dan 50000 mengatakan separuh. consumptionUsageEvents adalah larik opsional di mana setiap peristiwa bisa membawa sebuah obfuscatedAccountId, sebuah obfuscatedProfileId, sebuah consumptionTime, sebuah ipAddress, sebuah consumptionItemDescription, dan sebuah location kasar. sampleContentProvided adalah boolean untuk kasus di mana Anda memberi pelanggan sampel gratis dari konten berbayar. Bersama-sama, dalam skema Google Play sendiri, ini mengatakan bahwa produk telah dikirim dan digunakan.

Panggilan pertama Anda adalah satu-satunya panggilan Anda
Google Play mencatat panggilan ReviewRefund pertama yang Anda buat terhadap sebuah notifikasi dan mengabaikan setiap panggilan setelahnya, sambil tetap mengembalikan status OK. Tidak ada draf dan tidak ada revisi. Jika respons pertama Anda adalah NEUTRAL tergesa-gesa tanpa bukti karena pipeline Anda belum siap, itulah respons yang tercatat, dan panggilan berikutnya dengan riwayat konsumsi lengkap dibuang secara diam-diam. Bangun jawaban lengkap sebelum Anda mengirim apa pun.
Berapa biaya peninjauan itu bagi Anda dalam bentuk uang
Selama bertahun-tahun sebuah chargeback Google Play yang kalah menelan biaya penjualan bagi developer dan sedikit lainnya, karena Google Play menanggung biaya-biaya hilir. Itu berakhir pada August 3, 2026. Untuk pesanan yang dilakukan setelah tanggal itu, Google Play berbagi biaya chargeback dengan developer, dan bagian developer adalah harga pembelian dikurangi biaya layanan Play, ditambah biaya chargeback terkait yang dikenakan oleh lembaga keuangan. Google Play tetap menanggung bagian biaya layanan. Biaya bank adalah beban baru di sisi buku besar Anda.
Refund tidak pernah menjadi angka yang sebenarnya
Sengketa mengembalikan pembayaran pelanggan, tetapi pembayaran tidak pernah menjadi satu-satunya biaya Anda. Sebuah video yang dihasilkan, sekumpulan panggilan API model, sebuah pembayaran kreator, penyimpanan yang Anda sediakan, semua uang itu meninggalkan akun Anda saat pesanan dikirim, dan tidak satu pun kembali bersama chargeback. Sekarang tambahkan biaya chargeback bank di atasnya. Anda membayar tagihan penyedia, mengembalikan penjualan, dan menanggung biaya sengketa, tiga biaya untuk satu pesanan yang buktinya Anda miliki untuk dipertahankan.
Skala yang sedang dilawan Google
Google Play mengatakan telah memblokir US$3.4B penipuan dan penyalahgunaan pada 2025 dan sedang menambahkan deteksi penipuan hingga 2026. Perubahan pembagian biaya adalah bagian dari dorongan yang sama: beri developer alasan untuk memasukkan bukti ke dalam sistem, dan sistem menantang lebih banyak sengketa yang tidak sah. ReviewRefund API adalah cara bukti Anda masuk. Respons kosong adalah suara untuk membiarkan sebuah chargeback friendly-fraud berdiri di atas biaya Anda.
Cara siap sebelum notifikasi mendarat
Jendela 24 jam bukanlah masalahnya. Masalahnya adalah bukti yang Anda butuhkan harus sudah ada sebelum sengketa, ditangkap saat pembelian dan konsumsi, bukan direkonstruksi setelah sebuah token muncul. Tim yang mulai mengumpulkan data ketika notifikasi tiba sudah kalah.
Lampirkan identitas saat pembelian
Atur sebuah obfuscatedAccountId dengan setObfuscatedAccountId pada setiap pembelian, sehingga id akun dari notifikasi memetakan langsung ke seorang pengguna dalam sistem Anda. Jaga agar tetap berupa hash, 64 karakter atau kurang, jangan pernah email cleartext atau data pribadi lain, karena pengenal cleartext membuat pembelian diblokir. Tanpa tautan itu Anda tidak bisa menghubungkan pendingRefundToken ke riwayat penggunaan yang nyata, dan DECLINE Anda tidak punya apa pun di baliknya.
Catat konsumsi saat terjadi
Catat apa yang dikirimkan sebuah pesanan berbayar, kapan, dan kepada siapa, dalam bentuk yang bisa Anda ubah menjadi consumptionPercentageMilliunits dan consumptionUsageEvents sesuai permintaan.
- Beri timestamp pada setiap unit konsumsi, sehingga consumptionTime pada setiap peristiwa nyata, bukan perkiraan.
- Lacak pengiriman terhadap pembelian, sehingga Anda bisa menyatakan persentase konsumsi dengan percaya diri alih-alih menebak.
- Simpan pengenal akun dan profil di dekat penggunaan, sehingga sebuah peristiwa terangkai dalam satu kueri ketika token tiba.
- Tangkap IP permintaan dan location kasar jika Anda memilikinya, karena Google Play menerima keduanya sebagai bidang peristiwa.
Jawab di dalam jendela, secara otomatis
Jendela 24 jam nyaman bagi sebuah mesin dan kejam bagi seorang manusia yang harus terjaga dan memperhatikan. Respons seharusnya otomatis: notifikasi masuk, akun dicari, konsumsi dirakit, satu panggilan ReviewRefund keluar, semua tanpa seorang pun dalam prosesnya. Itulah bagian yang dijalankan RefundHalt untuk Anda. Kami mendengarkan PendingRefundReviewNotification, mencocokkan pesanan dengan penggunaan yang sudah kami lacak untuk akun itu, dan menjawab orders.reviewrefund di dalam jendela dengan preferensi refund dan bukti konsumsi yang nyata. Token adalah benangnya, dan bukti adalah kasusnya. Siapkan keduanya dan satu percakapan refund yang bisa Anda ikuti adalah percakapan yang bisa Anda menangkan.
Pertanyaan yang sering diajukan
- Apa itu peninjauan chargeback Google Play?
- Peninjauan chargeback Google Play adalah alur yang digunakan Google Play untuk meminta bukti dari developer sebelum memutuskan sebuah tagihan yang disengketakan. Ketika bank seorang pelanggan membalikkan tagihan, Google Play bisa mengirim server Anda sebuah PendingRefundReviewNotification dan memberi Anda 24 jam untuk merespons dengan ReviewRefund API, menyediakan preferensi refund dan bukti tentang berapa banyak yang dikonsumsi pelanggan. Ini satu-satunya jalur refund Android di mana input Anda memengaruhi hasilnya.
- Berapa lama saya harus merespons notifikasi chargeback Google Play?
- 24 jam. Google Play mengirim sebuah PendingRefundReviewNotification sebagai sebuah Real Time Developer Notification, dan Anda harus memanggil ReviewRefund API dalam 24 jam sejak notifikasi itu. Jam hitung dimulai ketika notifikasi diterbitkan ke topic Cloud Pub/Sub Anda, jadi konsumen Anda perlu mendengarkan secara real time alih-alih melakukan polling terjadwal.
- Apa yang boleh saya kirim melalui orders.reviewrefund API?
- Anda mengirim pendingRefundToken dari notifikasi, sebuah refundPreference berupa APPROVE, DECLINE, atau NEUTRAL, dan bukti konsumsi. Bidang buktinya adalah consumptionPercentageMilliunits, bilangan bulat dalam miliunit di mana 100000 berarti 100 percent dikonsumsi, sebuah larik consumptionUsageEvents opsional dengan timestamp, id akun, IP address, deskripsi, dan location per peristiwa, dan sebuah boolean sampleContentProvided. Panggilan yang berhasil mengembalikan bodi kosong dengan HTTP 200.
- Bisakah saya memperbarui respons ReviewRefund saya setelah mengirimnya?
- Tidak. Google Play mencatat panggilan ReviewRefund pertama Anda untuk suatu notifikasi dan mengabaikan setiap panggilan berikutnya, sambil tetap mengembalikan status OK. Tidak ada draf atau revisi, jadi respons pertama Anda harus lengkap. Rakit preferensi refund dan semua bukti konsumsi sebelum Anda melakukan satu panggilan itu.
- Berapa biaya chargeback Google Play yang kalah setelah August 3, 2026?
- Untuk pesanan yang dilakukan setelah August 3, 2026, developer menanggung harga pembelian dikurangi biaya layanan Play, ditambah biaya chargeback yang dikenakan oleh lembaga keuangan. Google Play terus menanggung bagian biaya layanan. Itu di atas komputasi, panggilan API, penyimpanan, dan pembayaran yang sudah Anda keluarkan untuk mengirim pesanan, dan tidak satu pun dikembalikan oleh refund.
- Alasan refund mana yang memicu notifikasi peninjauan tertunda?
- Hanya CHARGEBACK, yang tiba dalam notifikasi sebagai refundReason code 7. Refund Google Play lain, seperti jendela swalayan 48 jam, refund dukungan, dan pembelian yang dibatalkan, diputuskan tanpa developer dan tidak membuka peninjauan tertunda. Jika Anda menerima sebuah PendingRefundReviewNotification, sebuah bank telah membalikkan tagihan dan Google Play sedang memutuskan apakah akan menantangnya.
Sumber dan bacaan lanjutan
- Android Developers: Help Google dispute chargebacks
- Google Play Developer API: orders.reviewrefund
- Android Developers: Real-time developer notifications reference
- Play Console Help: Updates to refund protection and chargeback cost responsibility
- Google Play Help: Refund policies for apps, games, and in-app purchases
RefundHalt
Autopilot refund untuk App Store dan Google Play
Baca selanjutnya
Lampirkan appAccountToken pada setiap pembelian App Store, atau Anda tidak bisa membela refund
Apple mengirimkan CONSUMPTION_REQUEST ke server Anda saat pelanggan meminta refund, tetapi transaksi itu tidak pernah menyebutkan siapa mereka. appAccountToken adalah UUID yang menautkan sebuah pembelian kembali ke pengguna Anda. Setel dan Anda bisa menjawab Apple dengan data nyata. Lewati dan Anda hanya menebak.
Jangan mengonfirmasi pembelian Google Play dalam tiga hari dan Google akan mengembalikan dananya, inilah biayanya bagi Anda
Google Play secara otomatis mengembalikan dana dan mencabut pembelian apa pun yang tidak dikonfirmasi server Anda dalam tiga hari. Ini adalah kegagalan integrasi, bukan keputusan pelanggan, dan sepenuhnya dapat dicegah. Berikut aturan persisnya, mengapa aturan itu terpicu, dan berapa biaya sebenarnya dari setiap penjualan yang hilang.