Semua artikel
Deep diveWaktu baca 8 menit

Pengembalian dana langganan tidak bekerja seperti pengembalian dana sekali beli, dan toko tempat Anda berada yang menentukan seberapa besar suara Anda

Pengembalian dana langganan membalik seluruh periode penagihan, bukan satu penjualan tunggal. Di App Store, Apple yang memutuskan dan server Anda hanya mengetahui hasilnya. Di Google Play Anda sendiri memilih pengembalian penuh atau prorata. Berikut cara setiap toko menangani pengembalian dana langganan, dan berapa biaya satu pengembalian bagi Anda.

Kalender dinding dengan tanggal penagihan bulanan berulang yang dilingkari, sebuah kartu kredit melintang di atasnya dan koin yang didorong mundur sebagian, menggambarkan bagaimana pengembalian dana langganan membalik satu periode penagihan

Poin utama

  • Pengembalian dana langganan tidak sama dengan pengembalian dana sekali beli. Unit yang dibalik adalah satu periode penagihan, dan di kedua toko mengembalikan pesanan langganan akan membatalkan langganan dan memutus akses.
  • Di App Store, Apple yang memutuskan setiap pengembalian dana langganan. Pelanggan meminta ke Apple di reportaproblem.apple.com, Apple memutuskan, dan server Anda hanya mengetahui hasilnya melalui notifikasi REFUND, REFUND_DECLINED, atau REFUND_REVERSED.
  • Ketika Apple memberikan pengembalian dana langganan, transaksi mendapat revocationDate dan autoRenewStatus langganan diatur menjadi false, sehingga berhenti diperpanjang dan pelanggan kehilangan akses.
  • Apple mengukur langganan yang diperpanjang otomatis berdasarkan waktu yang berlalu, bukan berdasarkan metrik penggunaan Anda. Seseorang yang sudah enam bulan menjalani paket tahunan telah mengonsumsi sekitar 50 persen, dan GRANT_PRORATED adalah satu-satunya preferensi pengembalian yang bisa Anda nyatakan untuknya.
  • Di Google Play Anda sendiri yang menerbitkan pengembalian dana. purchases.subscriptionsv2.revoke menerima fullRefund, yang mengembalikan seluruh periode saat ini, atau proratedRefund, yang mengembalikan hanya waktu hak akses yang belum terpakai.
  • Pesanan mana yang Anda kembalikan di Google Play mengubah hasilnya. Kembalikan pesanan terbaru dan langganan langsung dihapus dengan perpanjangan mendatang dibatalkan. Kembalikan pesanan yang lebih lama dan langganan tetap aktif.
  • Batasan Google Play ketat. Pesanan yang lebih tua dari tiga tahun tidak bisa dikembalikan, pengembalian sebagian hanya berlaku untuk pesanan yang dibuat setelah March 2018, tidak berlaku untuk aplikasi berbayar, dan tidak ada pengembalian yang bisa dibatalkan setelah diterbitkan.

Mengembalikan dana langganan dan mengembalikan dana satu pembelian dalam aplikasi terasa seperti tombol yang sama. Padahal tidak. Pembelian sekali beli adalah satu tagihan yang Anda kembalikan. Langganan adalah tagihan berulang dengan hak akses aktif yang melekat, sehingga pengembalian dana langganan harus menjawab dua pertanyaan yang tidak pernah ditanyakan pengembalian sekali beli: seberapa banyak dari periode saat ini yang Anda kembalikan, dan apakah langganan tetap berjalan. App Store dan Google Play menjawab dua pertanyaan itu dengan cara yang berlawanan, dan celah itu menentukan seberapa besar kendali Anda dan seberapa banyak uang yang keluar dari akun Anda.

Ini peta singkatnya. Di App Store, Apple yang memegang keputusan dan Anda mengetahuinya setelah kejadian. Di Google Play, kendali ada di tangan Anda dan Anda sendiri memilih penuh atau prorata. Tulisan ini membahas kedua toko, kolom dan notifikasi persis yang digunakan masing-masing, pesanan mana yang Anda sentuh ketika sebuah langganan telah ditagih berkali-kali, dan berapa biaya sebenarnya pengembalian dana langganan setelah menghitung komputasi yang sudah Anda keluarkan.

Bagaimana pengembalian dana langganan berbeda dari pengembalian dana sekali beli

Kedua toko memperlakukan pengembalian dana sebagai pembalikan pesanan tertentu. Untuk pembelian sekali beli hanya ada satu pesanan, jadi tidak ada yang perlu dipilih. Langganan adalah rantai pesanan, satu per periode penagihan, dengan hak akses yang aktif atau tidak. Struktur itulah alasan pengembalian dana langganan membawa pilihan yang tidak dimiliki pengembalian dana sekali beli.

Unit yang dibalik adalah satu periode penagihan

Ketika Anda mengembalikan dana langganan, Anda tidak mengembalikan pembayaran seumur hidup. Anda bertindak atas satu pesanan dalam rantai, biasanya yang terbaru, yaitu satu periode penagihan. Pengembalian penuh mengembalikan seluruh periode itu. Pengembalian prorata hanya mengembalikan bagian periode yang belum digunakan pelanggan. Bagaimanapun, penjualan yang Anda balik adalah harga satu periode, bukan seluruh riwayat pelanggan dengan aplikasi.

Perbedaan yang sebenarnya adalah siapa yang memutuskan

Pembagian yang lebih tajam adalah wewenang. Di App Store, Apple yang memutuskan apakah pengembalian dana langganan terjadi sama sekali, dan Anda paling banter memberikan konteks. Di Google Play, Anda yang memutuskan, dan API melakukan persis seperti yang Anda perintahkan. Hasilnya sama bagi pelanggan, tetapi posisi pengembang benar-benar berbeda, dan itu mengubah apa yang Anda bangun untuk menangani masing-masing.

Bagaimana App Store menangani pengembalian dana langganan

Di sisi Apple, Anda adalah penonton dengan mikrofon kecil. Pelanggan berbicara dengan Apple, Apple mengambil keputusan, dan server Anda membaca hasilnya.

Pelanggan meminta ke Apple, dan Apple memutuskan

Seorang pelanggan App Store meminta pengembalian dana langganan di reportaproblem.apple.com, bukan dari Anda. Apple meninjau permintaan itu terhadap sinyalnya sendiri dan memutuskan. Anda tidak menyetujuinya, dan tidak ada tombol konsol Apple yang membiarkan Anda menerbitkan pengembalian dana langganan seperti yang dilakukan Google Play. Apple punya waktu hingga 90 days sejak pembelian untuk menerima permintaan tinjauan, dan begitu memutuskan, keputusan itu milik Apple.

Apa yang dilihat server Anda ketika pengembalian dana tiba

Anda mengetahui hasilnya melalui App Store Server Notifications V2. Pengembalian dana yang diberikan tiba sebagai notifikasi REFUND, dan transaksi kini membawa revocationDate yang menandai kapan akses harus berakhir. autoRenewStatus langganan diatur menjadi false, sehingga berhenti diperpanjang dan pelanggan kehilangan hak akses. Jika Apple menolak permintaan, Anda mendapat REFUND_DECLINED, dan jika Apple kemudian membatalkan pengembalian dana yang sudah diberikan, Anda mendapat REFUND_REVERSED dan langganan kembali. Tugas Anda adalah membaca ini dan mengalihkan akses, bukan memberi suara.

NotifikasiApa artinyaApa yang Anda lakukan
REFUNDApple memberikan pengembalian dana; transaksi mendapat revocationDateCabut akses, perlakukan autoRenewStatus sebagai false
REFUND_DECLINEDApple menolak permintaan pengembalian dana pelangganTidak ada yang berubah; langganan tetap berlaku
REFUND_REVERSEDApple membatalkan pengembalian dana yang telah diberikanPulihkan akses dan penjualan

Apple mengukur langganan berdasarkan waktu, bukan berdasarkan metrik Anda

Untuk barang habis pakai, Anda bisa memberi tahu Apple seberapa banyak yang terpakai melalui data konsumsi. Untuk langganan yang diperpanjang otomatis, Apple menghitung konsumsi dari waktu yang berlalu dengan sendirinya. Contoh Apple sendiri adalah pelanggan yang sudah enam bulan menjalani langganan tahunan, yang telah mengonsumsi sekitar 50 persen. Jadi metrik penggunaan Anda tidak menetapkan angka untuk langganan. Satu tuas yang bisa Anda tarik adalah refundPreference, dan untuk langganan nilai yang relevan adalah GRANT_PRORATED, yang menyatakan Anda lebih memilih Apple mengembalikan hanya bagian yang belum terpakai. Itu preferensi, bukan keputusan. Apple tetap yang memutuskan.

Bagaimana Google Play menangani pengembalian dana langganan

Google Play menempatkan keputusan di tangan Anda. Ada layar Play Console dan sekumpulan metode API yang membiarkan Anda mengembalikan dana langganan secara langsung, memilih berapa banyak, dan memutuskan apakah akses berakhir. Ini sikap yang berlawanan dengan Apple, dan datang dengan pilihan yang harus Anda buat dengan benar.

Penuh atau prorata, dan itu keputusan Anda

Cara terkini untuk mengembalikan dana dan mencabut langganan adalah purchases.subscriptionsv2.revoke, yang dipanggil dengan revocationContext. Berikan fullRefund dan Google Play mengakhiri langganan serta mengembalikan jumlah penuh periode penagihan saat ini. Berikan proratedRefund dan Google Play mengakhiri langganan serta mengembalikan hanya waktu hak akses tersisa yang belum terpakai. Metode lama hanya bisa melakukan pengembalian penuh, itulah alasan menggunakan yang lebih baru. Pencabutan prorata adalah body dua baris, sebuah revocationContext yang membungkus proratedRefund, dan Anda menggantinya dengan fullRefund untuk seluruh periode. Kedua pencabutan memicu notifikasi pengembang waktu nyata SUBSCRIPTION_REVOKED, yang menjadi sinyal Anda untuk memutus akses.

Pesanan mana yang Anda kembalikan mengubah apa yang terjadi

Google Play juga membiarkan Anda mengembalikan dana sebuah pesanan tanpa mencabut, melalui orders.refund, dan di sini aturan halus berlaku. Jika Anda mengembalikan dana pesanan terbaru dalam langganan, pesanan itu dikembalikan, langganan langsung dihapus, dan kejadian berulang mendatang dibatalkan. Jika Anda mengembalikan dana pesanan yang lebih lama dalam rantai, pesanan itu dikembalikan tetapi langganan tetap aktif. Pada orders.refund parameter revoke hanya mencabut ketika pesanan adalah yang terbaru, jadi untuk mengakhiri akses pada langganan aktif Anda menggunakan purchases.subscriptionsv2.revoke sebagai gantinya.

TindakanPesanan yang dikembalikanApa yang terjadi pada langganan
Kembalikan pesanan terbaruPeriode penagihan terakhirLangsung dihapus, perpanjangan mendatang dibatalkan
Kembalikan pesanan yang lebih lamaPeriode penagihan lampauTetap aktif, terus diperpanjang
subscriptionsv2.revoke, penuh atau prorataPeriode saat iniDiakhiri sekarang, SUBSCRIPTION_REVOKED dikirim
Dua ponsel pintar berdampingan di atas meja gelap menampilkan layar pembayaran langganan dengan setumpuk koin yang dikembalikan sebagian di antaranya, menggambarkan pengembalian dana langganan penuh versus prorata di App Store dan Google Play

Batasan yang membuat pengembang tersandung

Beberapa sudut tajam menjebak orang, dan tak satu pun ada di jalur mulus.

  • Pesanan yang lebih tua dari tiga tahun sama sekali tidak bisa dikembalikan.
  • Pengembalian sebagian hanya berlaku untuk pesanan yang dibuat setelah March 2018, dan tidak pernah untuk pembelian aplikasi berbayar.
  • Anda bisa menumpuk beberapa pengembalian sebagian pada satu pesanan, tetapi tidak sampai atau melebihi total pesanan.
  • Pengembalian dana tidak bisa dibatalkan setelah diterbitkan.

Google Play biasanya memberikan keputusan pengembalian dana dalam sehari, meskipun bisa memakan waktu hingga empat. Rencanakan jeda itu ketika sebuah pengembalian dana perlu tercermin dalam kontrol akses Anda sendiri.

Berapa biaya sebenarnya pengembalian dana langganan bagi Anda

Tagihan yang dikembalikan tidak pernah merupakan seluruh biaya. Pada saat sebuah pesanan langganan dikirimkan, Anda sudah mengeluarkan uang nyata untuknya: komputasi, panggilan API model, penyimpanan, dan pembayaran apa pun yang terkait dengan periode itu. Pengembalian dana mengembalikan penjualan. Ia tidak mengembalikan apa yang Anda keluarkan untuk melayaninya. Pada langganan, bentuk kerugian bergantung pada pengembalian dana mana yang Anda terbitkan.

Penuh versus prorata adalah keputusan uang

Pengembalian penuh di Google Play mengembalikan seluruh periode saat ini, jadi Anda kehilangan seluruh pendapatan periode itu sambil tetap menanggung setiap biaya yang sudah Anda keluarkan pada periode itu. Pengembalian prorata mengembalikan hanya irisan yang belum terpakai, jadi Anda mempertahankan pendapatan untuk bagian yang benar-benar dinikmati pelanggan. Jika seorang pelanggan sudah 60 persen melewati periode bulanan pada paket 10 dolar, pengembalian penuh membebani Anda 10 dolar penuh, dan pengembalian prorata membebani Anda sekitar 4 dolar, yaitu 40 persen yang belum terpakai. Apple menerapkan logika waktu yang berlalu yang sama di sisinya ketika menetapkan besaran pengembalian dana langganan.

Jenis pengembalianYang diterima kembali oleh pelangganYang Anda pertahankan
Pengembalian penuhSeluruh periode saat ini, 10.00Tidak ada dari periode ini
Pengembalian prorata40 persen yang belum terpakai, sekitar 4.0060 persen yang terpakai, sekitar 6.00

Biaya yang tidak pernah kembali

Pengembalian mana pun yang Anda terbitkan, biaya hilir periode itu sudah hilang. Panggilan API model yang Anda bayar, video yang Anda render, penyimpanan yang Anda sediakan, pembayaran kreator yang sudah Anda kirim, tak satu pun kembali ketika pengembalian dana langganan diproses. Tetapkan besaran pengembalian berdasarkan apa yang benar-benar dipakai pelanggan, jangan berdasarkan berapa lama lalu mereka berlangganan, karena waktu yang berlalu bukan biaya dan tidak ada toko yang memperlakukannya demikian. Dan setelah August 3, 2026, jika tagihan langganan Google Play berakhir dengan chargeback bank alih-alih pengembalian dana yang Anda terbitkan, Anda juga menanggung biaya chargeback bank, yang dihindari oleh pengembalian dana yang Anda berikan lebih dulu.

Cara menangani pengembalian dana langganan tanpa seseorang mengawasi

Tak satu pun dari ini boleh menunggu seseorang membaca dasbor. Notifikasi tiba kapan saja, dan akses harus beralih pada saat pengembalian dana tiba, bukan keesokan paginya.

Baca hasilnya dan cabut akses di kedua toko

Di App Store, dengarkan REFUND, REFUND_DECLINED, dan REFUND_REVERSED, dan gunakan revocationDate serta autoRenewStatus untuk mengakhiri atau memulihkan akses secara otomatis. Di Google Play, dengarkan SUBSCRIPTION_REVOKED dan sinyal pembelian yang dibatalkan lalu lakukan hal yang sama. Inilah rangkaian kerja yang dijalankan RefundHalt untuk Anda: notifikasi masuk, akun dicocokkan, akses dialihkan, tanpa seorang pun dalam lingkaran.

Siapkan bukti sebelum sengketa

Jendela sempit yang memang meminta masukan Anda, CONSUMPTION_REQUEST 12 jam dari Apple pada barang habis pakai dan tinjauan chargeback 24 jam dari Google Play, hanya membantu jika buktinya sudah ada. Lampirkan pengenal akun ke setiap pembelian, sebuah appAccountToken UUID di Apple dan setObfuscatedAccountId yang di-hash sepanjang 64 characters atau kurang di Google Play, dan catat apa yang dikirimkan setiap periode berbayar. Lalu ketika sebuah token tiba, kasusnya sudah tersusun, dan menjawab dalam jendela adalah tugas mesin, bukan kepanikan.

Pertanyaan yang sering diajukan

Apakah mengembalikan dana langganan berbeda dari mengembalikan dana pembelian sekali beli?
Ya. Pembelian sekali beli adalah satu pesanan tunggal yang Anda kembalikan. Langganan adalah rantai pesanan dengan hak akses aktif, jadi pengembalian dana langganan bertindak atas satu periode penagihan dan juga memutuskan apakah langganan tetap berjalan. Di App Store maupun Google Play, mengembalikan pesanan langganan akan membatalkan langganan dan mengakhiri akses, dan Anda sering bisa memilih antara mengembalikan seluruh periode atau hanya bagian yang belum terpakai.
Bisakah pengembang menerbitkan pengembalian dana langganan App Store secara langsung?
Tidak. Apple yang memutuskan pengembalian dana langganan App Store. Pelanggan memintanya di reportaproblem.apple.com, Apple memutuskan, dan Anda mengetahui hasilnya melalui notifikasi REFUND, REFUND_DECLINED, atau REFUND_REVERSED. Satu-satunya masukan yang bisa Anda tawarkan adalah refundPreference, seperti GRANT_PRORATED, dan Apple memperlakukannya sebagai preferensi, bukan keputusan.
Bagaimana cara menerbitkan pengembalian dana langganan prorata di Google Play?
Panggil purchases.subscriptionsv2.revoke dengan revocationContext diatur ke proratedRefund. Google Play mengakhiri langganan dan mengembalikan hanya waktu hak akses tersisa yang belum terpakai, lalu mengirim notifikasi SUBSCRIPTION_REVOKED. Berikan fullRefund sebagai gantinya untuk mengembalikan seluruh periode saat ini. Metode pencabutan lama hanya bisa melakukan pengembalian penuh.
Mengapa pengembalian dana Google Play saya tidak membatalkan langganan?
Karena Anda mengembalikan pesanan yang lebih lama dalam rantai. Di Google Play, mengembalikan pesanan terbaru menghapus langganan seketika dan membatalkan perpanjangan mendatang, tetapi mengembalikan pesanan yang lebih lama mengembalikan periode itu sementara langganan tetap aktif. Parameter revoke pada orders.refund hanya mencabut ketika pesanan adalah yang terbaru, jadi untuk mengakhiri langganan aktif gunakan purchases.subscriptionsv2.revoke.
Seberapa jauh ke belakang Anda bisa mengembalikan pesanan langganan?
Di Google Play, pesanan yang lebih tua dari tiga tahun tidak bisa dikembalikan. Pengembalian sebagian hanya berlaku untuk pesanan yang dibuat setelah March 2018 dan tidak pernah untuk aplikasi berbayar, dan tidak ada pengembalian yang bisa dibatalkan setelah diterbitkan. Di App Store, Apple menerima permintaan pengembalian dana pelanggan hingga 90 days sejak pembelian dan memutuskan masing-masing sendiri.

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.