Semua artikel
PanduanWaktu baca 8 menit

Setiap perpanjangan mendapat ID pesanan Google Play sendiri, dan itulah nomor yang perlu diperiksa sebelum Anda me-refund siapa pun

ID pesanan Google Play seperti GPA.1234-5678-9012-34567..2 menunjuk satu tagihan yang tepat. Berikut cara membaca akhiran perpanjangan, mencari pesanan di Play Console atau Orders API, dan me-refund tagihan yang dimaksud pelanggan tanpa membayar untuk tagihan yang salah.

Seorang developer di meja membandingkan tanda terima email di ponsel Android dengan daftar pesanan di laptop, mencocokkan ID pesanan Google Play dengan tagihan yang benar

Poin utama

  • ID pesanan Google Play berbentuk GPA.1234-5678-9012-34567, dan perpanjangan langganan menambahkan akhiran, sehingga GPA.1234-5678-9012-34567..0 adalah perpanjangan pertama langganan tersebut.
  • getOrderId() dari Play Billing Library mengembalikan ID pesanan awal untuk perpanjangan langganan, bukan ID milik perpanjangan itu sendiri, dan mengembalikan null selama pembelian masih berstatus PENDING.
  • Google menambahkan get dan batchGet ke resource Orders di Play Developer API pada 21 Mei 2025. batchGet menerima 1 hingga 1.000 ID pesanan yang berbeda dan menggagalkan seluruh permintaan jika salah satunya tidak ditemukan.
  • Order dari Orders API memiliki state PENDING, PROCESSED, CANCELED, PENDING_REFUND, PARTIALLY_REFUNDED atau REFUNDED, serta developerRevenueInBuyerCurrency, yang sudah dikurangi refund parsial, pajak, dan biaya.
  • Metode orders.refund Google Play tidak dapat me-refund pesanan yang berusia lebih dari 3 tahun, dan mengirim revoke=true langsung mengakhiri akses pelanggan ke langganan atau item tersebut.
  • Di Play Console, Refund dan cabut (Refund and revoke) berlaku untuk pesanan terbaru dalam langganan, sedangkan Hanya refund (Refund only) berlaku untuk pesanan lama dan membiarkan langganan tetap aktif.
  • Google Play menangani sendiri permintaan refund dalam 48 jam setelah pembelian. Setelah 48 jam, pelanggan diarahkan ke developer, dan saat itulah ID pesanan biasanya masuk ke kotak masuk dukungan Anda.

Lihat bagian akhir nomor pesanan sebelum Anda me-refund pelanggan Google Play. GPA.1234-5678-9012-34567 adalah tagihan pertama sebuah langganan. GPA.1234-5678-9012-34567..2 adalah tagihan ketiga. Keduanya berbagi basis yang sama, tetapi merupakan pembayaran yang berbeda, dan Play Console memperlakukannya secara berbeda saat Anda me-refund. ID pesanan Google Play adalah satu-satunya pengenal yang dapat dilihat pelanggan, jadi ID inilah yang sampai ke kotak masuk dukungan Anda. Baca dengan benar, maka Anda me-refund tagihan yang benar-benar mereka keluhkan, cukup sekali.

Apa yang diberitahukan ID pesanan Google Play

Dokumentasi Play Billing Library dari Google menjelaskan formatnya lewat contoh. ID pesanan diawali GPA, lalu diikuti kelompok angka. Untuk langganan, setiap perpanjangan mendapat ID pesanan dasar ditambah dua titik dan penghitung yang dimulai dari nol. Jadi pembelian awal tidak memiliki akhiran, perpanjangan pertama adalah ..0, perpanjangan kedua ..1, dan seterusnya.

Dengan begitu, akhiran ini menjadi cara cepat untuk mengetahui berapa lama seseorang sudah membayar. Pelanggan yang menulis tentang GPA.3333-4137-0319-36762..11 sudah diperpanjang dua belas kali. Pelanggan yang menyebut ID dasar tanpa akhiran berarti membeli sesuatu sekali saja, atau sedang merujuk pembayaran pertamanya.

ID pesananArtinya
GPA.1234-5678-9012-34567Pembelian satu kali, atau tagihan pertama sebuah langganan
GPA.1234-5678-9012-34567..0Perpanjangan pertama langganan tersebut
GPA.1234-5678-9012-34567..1Perpanjangan kedua
null di Billing LibraryPembelian yang masih berstatus PENDING, sebelum Google memproses pembayarannya

Di mana ID pesanan muncul, dan versi mana yang Anda dapatkan

Di sinilah banyak tim tersandung. Setiap tempat memberi Anda bentuk berbeda dari ID yang sama.

  • Tanda terima Google Play milik pelanggan menampilkan ID pesanan untuk tagihan yang bersangkutan, termasuk perpanjangan.
  • Di aplikasi Anda, Purchase.getOrderId() dari Play Billing Library mengembalikan ID pesanan awal untuk perpanjangan langganan. Contoh dari Google sendiri: alih-alih GPA.1234-5678-9012-34567..0, Anda mendapat GPA.1234-5678-9012-34567.
  • Di server Anda, purchases.subscriptionsv2 memberi setiap line item sebuah latestSuccessfulOrderId, yaitu ID pesanan berhasil terbaru untuk item tersebut. Google menambahkan field ini pada 21 Mei 2025.
  • Di Voided Purchases API, orderId secara unik mengidentifikasi pembelian satu kali, pembelian langganan, atau perpanjangan langganan. Dokumentasi Google menyarankan memakai orderId, bukan purchase token, untuk membedakan perpanjangan.

Fungsi purchase token yang sebenarnya

Purchase token mengidentifikasi pembelian secara keseluruhan. Untuk langganan, satu token mencakup tagihan awal dan setiap perpanjangan sesudahnya. Karena itu token ini adalah kunci yang tepat untuk hak akses, tetapi kunci yang salah untuk refund. Refund dan chargeback terjadi pada satu tagihan, dan hanya ID pesanan yang menunjuk satu tagihan.

Cara mencari pesanan Google Play

Di Play Console

Manajemen pesanan (Order management) menerima ID pesanan atau alamat email lengkap pelanggan di kotak pencariannya. Setiap pesanan menampilkan salah satu status berikut: Diproses (Processed), Dibatalkan (Cancelled), Tertunda (Pending), Refund tertunda (Pending refund), Di-refund (Refunded), Refund parsial tertunda (Pending partial refund), atau Di-refund sebagian (Partially refunded). Jika pelanggan memberikan email alih-alih tanda terima, cari berdasarkan email dan pilih tagihan berdasarkan tanggal, lalu pastikan akhirannya sebelum Anda bertindak.

Dengan Orders API

Sejak 21 Mei 2025, resource Orders di Google Play Developer API memiliki orders.get untuk satu pesanan dan orders.batchget untuk daftar pesanan. Beberapa batasan penting dalam praktik:

  • batchget menerima 1 hingga 1.000 ID pesanan per permintaan, dan semuanya harus berbeda.
  • Jika satu saja ID pesanan tidak ditemukan atau bukan milik paket tersebut, seluruh permintaan batchget gagal.
  • Panggilan Orders API dihitung dalam kuota Play Developer API Anda, yang secara default 200.000 panggilan per hari.

Order yang dikembalikan adalah bagian yang berguna. Isinya mencakup state pesanan, purchaseToken, createTime dan lastEventTime, total dan pajak, salesChannel seperti IN_APP atau PLAY_STORE, serta orderHistory berisi peristiwa pemrosesan, pembatalan, refund, dan refund parsial. Ada juga developerRevenueInBuyerCurrency, yang didefinisikan Google sebagai pendapatan Anda dalam mata uang pembeli, setelah dikurangi refund parsial, pajak, dan biaya. Jika Google adalah merchant of record, alamat pembeli hanya berisi negara.

State pesananPenjelasan di referensi Google
PENDINGDibuat dan menunggu diproses
PROCESSEDBerhasil diproses
CANCELEDDibatalkan sebelum diproses
PENDING_REFUNDRefund yang diminta sedang menunggu diproses
PARTIALLY_REFUNDEDSebagian jumlah pesanan telah di-refund
REFUNDEDSeluruh jumlah pesanan telah di-refund

Me-refund pesanan yang tepat

Setelah Anda tahu tagihan mana yang dimaksud pelanggan, Play Console memberi pilihan yang bergantung pada posisi pesanan itu dalam langganan.

OpsiBerlaku untukYang terjadi
Refund dan cabut (Refund and revoke)Pesanan terbaru dalam langgananRefund diberikan, langganan langsung dihapus, perpanjangan berikutnya dibatalkan
Hanya refund (Refund only)Pesanan lama dalam langgananRefund diberikan, langganan tetap aktif
Refund parsial (Partial refund)Pembelian dalam aplikasi dan langganan yang dipesan setelah Maret 2018, bukan aplikasi berbayarPersentase berapa pun di bawah 100%, atau jumlah sebelum pajak di bawah total pesanan
Batalkan langganan (Cancel subscription)Langganan yang aktifTanpa refund, akses berlaku hingga periode penagihan saat ini berakhir

Melalui API, orders.refund menerima nama paket dan ID pesanan. Pesanan yang berusia lebih dari 3 tahun tidak dapat di-refund. Parameter opsional revoke, jika diatur ke true, langsung mengakhiri akses ke langganan atau item dalam aplikasi. Bantuan Google juga mencatat bahwa refund tidak dapat dibatalkan setelah diberikan, jadi ID pesanan yang Anda kirim bersifat final.

Mengapa pesanan $0.00 muncul untuk pelanggan berlangganan?

Dokumentasi siklus hidup langganan Google menjelaskannya. Saat pengguna mendaftar lagi dari aplikasi Anda untuk base plan yang sama sebelum langganannya berakhir, Google Play membuat pesanan $0.00. Mereka tidak ditagih karena sudah membayar periode saat ini, dan penagihan normal berlanjut pada tanggal perpanjangan semula. Ini bukan uji coba gratis atau promosi. Tidak ada yang perlu di-refund pada pesanan itu. Jika pelanggan ingin uangnya kembali, cari pesanan berbayar sebelumnya.

Kerugian akibat me-refund pesanan yang salah

Refund mengembalikan harga. Refund parsial bekerja dengan cara yang sama secara proporsional. Contoh dari Google: refund parsial 50% juga menarik kembali 50% pembayaran Anda dan 50% biaya layanan. Yang tidak kembali adalah semua yang sudah Anda keluarkan untuk melayani pelanggan itu, yaitu komputasi, panggilan API pihak ketiga, penyimpanan, dan pembayaran afiliasi. Jika Anda me-refund pesanan yang salah, Anda menanggung biaya itu dua kali.

Begini kejadiannya. Pelanggan paket bulanan menulis tentang tagihan ..4, yaitu tagihan minggu lalu. Seseorang di tim Anda mencari berdasarkan email, melihat pesanan pertama di urutan teratas, lalu mengklik Hanya refund pada pesanan dasar dari beberapa bulan lalu. Kini pelanggan mendapat uang kembali untuk periode yang sudah mereka pakai. Tagihan yang mereka keluhkan tidak tersentuh, dan langganannya tetap diperpanjang. Mereka masih bisa meminta bank membatalkan tagihan minggu lalu.

Tangan memegang ponsel Android di atas rekening koran bank yang dicetak dan sebuah pena, saat pelanggan mencocokkan tagihan dengan ID pesanan Google Play miliknya

Jalur bank itulah yang kini mahal. Untuk pesanan yang dibuat setelah 3 Agustus 2026, Google menyatakan bahwa jika chargeback dikabulkan, developer menanggung harga pembelian, dikurangi biaya layanan Play, ditambah biaya chargeback yang dikenakan bank. Chargeback bersifat final di bank. Satu akhiran yang salah dibaca bisa berakhir dengan hilangnya uang senilai dua kali refund, ditambah biaya.

Refund yang tidak pernah sampai ke kotak masuk Anda

Sebagian besar refund Google Play sama sekali tidak memerlukan Anda atau ID pesanan. Kebijakan refund Google menyebutkan bahwa pelanggan dapat memperoleh refund dalam 48 jam setelah pembelian melalui Google Play, dan setelah 48 jam harus menghubungi developer. Google juga me-refund dan mencabut langganan yang tidak Anda acknowledge dalam tiga hari. Anda baru mengetahuinya belakangan melalui Voided Purchases API, yang melaporkan voidedSource (0 untuk Pengguna, 1 untuk Developer, 2 untuk Google) dan voidedReason seperti Remorse, Chargeback, atau Unacknowledged_purchase.

Hanya satu alur refund Google Play yang meminta tanggapan dari pihak Anda. Saat chargeback memerlukan tinjauan developer, Anda punya waktu 24 jam untuk menjawab melalui orders.reviewrefund dengan preferensi refund APPROVE, DECLINE, atau NEUTRAL beserta bukti penggunaan pembelian. RefundHalt menjawab tinjauan itu untuk Anda di dalam batas waktu, memakai data penggunaan yang sudah Anda miliki, sehingga pesanan yang disengketakan mendapat bukti dari Anda, bukan diam.

Daftar periksa singkat untuk tiket dukungan terkait ID pesanan

  • Minta ID pesanan lengkap dari tanda terima Google Play, termasuk akhirannya.
  • Cari di Play Console atau dengan orders.get, dan periksa state-nya lebih dulu.
  • Pastikan tanggal tagihan cocok dengan yang dijelaskan pelanggan.
  • Gunakan Refund dan cabut hanya pada pesanan terbaru, dan Hanya refund pada pesanan yang lebih lama.
  • Catat ID pesanan yang Anda refund, agar chargeback berikutnya pada pesanan lain mudah dikenali.

Pertanyaan yang sering diajukan

Apa arti ..0 di akhir ID pesanan Google Play?
Itu menandai perpanjangan pertama sebuah langganan. Google Play memberi setiap perpanjangan ID pesanan dasar langganan ditambah dua titik dan penghitung yang dimulai dari nol, jadi GPA.1234-5678-9012-34567..0 adalah perpanjangan pertama dan ..1 adalah yang kedua. ID dasar tanpa akhiran adalah tagihan awal.
Mengapa getOrderId() di aplikasi saya mengembalikan ID pesanan yang berbeda dari tanda terima pelanggan?
Karena Play Billing Library mengembalikan ID pesanan awal untuk perpanjangan langganan. Contoh dari Google: alih-alih GPA.1234-5678-9012-34567..0 untuk perpanjangan pertama, getOrderId() mengembalikan GPA.1234-5678-9012-34567. Gunakan latestSuccessfulOrderId dari purchases.subscriptionsv2 di server Anda untuk mendapatkan ID milik perpanjangan itu sendiri.
Bagaimana cara mencari pesanan Google Play berdasarkan ID pesanan?
Cari di Manajemen pesanan (Order management) Play Console, yang menerima ID pesanan atau alamat email lengkap pelanggan, atau panggil orders.get di Google Play Developer API. orders.batchget mencari 1 hingga 1.000 ID pesanan yang berbeda sekaligus, dan seluruh permintaan gagal jika salah satunya tidak ditemukan.
Bisakah saya me-refund pesanan Google Play yang berusia lebih dari satu tahun?
Bisa, hingga 3 tahun. Referensi orders.refund Google menyebutkan bahwa pesanan yang berusia lebih dari 3 tahun tidak dapat di-refund. Untuk pesanan lama dalam langganan, opsi Hanya refund (Refund only) di Play Console mengembalikan uang dan membiarkan langganan tetap aktif.
Mengapa ada pesanan Google Play $0.00 untuk pelanggan berlangganan?
Pesanan ini muncul saat pengguna mendaftar lagi dari aplikasi Anda untuk base plan yang sama sebelum langganannya berakhir. Pengguna tidak ditagih karena sudah membayar periode saat ini, dan penagihan reguler berlanjut pada tanggal perpanjangan semula. Google menyatakan bahwa ini tidak berarti ada uji coba gratis atau diskon promosi yang diberikan.

Sumber dan bacaan lanjutan

RefundHalt

Autopilot refund untuk App Store dan Google Play

Baca selanjutnya

Permintaan refund berikutnya sudah menuju kepada Anda.

Siapkan RefundHalt dalam waktu yang dibutuhkan untuk membaca satu lagi email dukungan tentang refund yang tidak sempat Anda sengketakan.