Apple dan Google sama-sama mengizinkan Anda memundurkan tanggal pembaruan langganan setelah gangguan layanan, tetapi batasannya sangat berbeda
Saat aplikasi Anda mati, Anda bisa memundurkan tanggal pembaruan langganan alih-alih menunggu permintaan refund. Berikut cara kerja perpanjangan 90 hari dari Apple dan penundaan penagihan Google Play, di mana batas yang ditarik masing-masing toko, dan berapa biaya setiap opsi bagi Anda.

Poin utama
- App Store Server API dari Apple memungkinkan developer memundurkan tanggal pembaruan langganan perpanjangan otomatis yang berbayar dan aktif selama 1 hingga 90 hari, sebagai kompensasi atas gangguan layanan, acara yang dibatalkan, atau siaran langsung yang terputus.
- Apple mengizinkan dua perpanjangan tanggal pembaruan per pelanggan dalam 365 hari. Perpanjangan tidak dapat dibatalkan setelah berlaku, dan Apple mengirim email berisi tanggal pembaruan baru kepada pelanggan.
- Apple tidak akan memperpanjang langganan yang sedang dalam periode penawaran gratis, dalam percobaan ulang penagihan, dalam masa tenggang yang tanggal kedaluwarsanya sudah lewat, atau yang sudah kedaluwarsa. Langganan harus sudah melewati setidaknya satu periode berbayar.
- Hari yang ditambahkan melalui perpanjangan tanggal pembaruan Apple tidak dihitung dalam satu tahun layanan berbayar yang menaikkan bagi hasil langganan developer dari 70% menjadi 85%.
- purchases.subscriptionsv2.defer dari Google Play memundurkan tanggal penagihan berikutnya sebuah langganan paling sedikit satu hari dan paling lama satu tahun per panggilan. Pengguna tetap mendapat akses penuh tanpa ditagih, dan Google mengirim notifikasi SUBSCRIPTION_DEFERRED.
- Perpanjangan tanggal pembaruan tidak mengembalikan uang, jadi developer tetap menyimpan pembayaran, tetapi menanggung biaya komputasi, penyimpanan, dan panggilan API selama hari tambahan tanpa ada pembaruan yang menutupinya. Refund mengembalikan harga, dan tidak satu rupiah pun dari uang yang sudah dikeluarkan untuk melayani pelanggan itu kembali.
- Jika gangguan layanan membuat pembelian dalam aplikasi gagal dikirimkan dan Apple mengirim CONSUMPTION_REQUEST, deliveryStatus yang jujur adalah UNDELIVERED_SERVER_OUTAGE, dan Apple mewajibkan consumptionPercentage bernilai 0 untuk status apa pun selain DELIVERED.
Downtime memberi setiap pelanggan alasan refund yang paling kuat, dan Anda tidak bisa mencegah mereka menggunakannya. Yang bisa Anda lakukan adalah mengembalikan hari yang hilang sebelum ada yang meminta. Kedua toko aplikasi mengizinkan Anda memundurkan tanggal pembaruan langganan sehingga pelanggan mendapat waktu gratis, bukan uang. Apple membatasi setiap perpanjangan hingga 90 hari dan mengizinkan dua kali setahun. Google mengizinkan Anda menunda penagihan hingga satu tahun per panggilan. Prosedur, notifikasi, dan biaya di baliknya cukup berbeda sehingga satu rencana penanganan gangguan tidak akan mencakup keduanya.
Dampak gangguan layanan terhadap risiko refund Anda
Refund diputuskan oleh toko, bukan oleh Anda. Di App Store, pelanggan mengajukan ke Apple dan Apple yang memutuskan. Anda mungkin menerima notifikasi CONSUMPTION_REQUEST dan diberi waktu 12 jam untuk mengirim data konsumsi melalui Send Consumption Information. Hanya itu suara yang Anda miliki.
Di Google Play, pembeli bisa mendapat refund dalam 48 jam setelah pembelian tanpa Anda ditanya. Setelah itu, permintaan datang kepada Anda. Satu-satunya alur Google yang meminta bukti dari Anda adalah chargeback yang ditandai untuk ditinjau developer, yang Anda jawab melalui orders.reviewrefund dalam 24 jam. Keputusan bank atas chargeback bersifat final.
Jadi, tidak ada toko yang memberi Anda cara untuk memblokir refund. Yang Anda kendalikan adalah apakah pelanggan masih merasa dirugikan saat layanan kembali normal. Waktu langganan tambahan, yang diberikan dengan cepat dan diumumkan dengan jelas, adalah alat yang dibuat kedua toko tepat untuk itu.
Cara memundurkan tanggal pembaruan langganan di App Store
App Store Server API memiliki dua endpoint untuk ini. Extend a Subscription Renewal Date bekerja pada satu langganan, yang Anda identifikasi dengan originalTransactionId. Extend Subscription Renewal Dates for All Active Subscribers bekerja pada setiap pelanggan yang memenuhi syarat untuk satu productId, dan Anda bisa membatasinya dengan storefrontCountryCodes jika gangguan hanya terjadi di beberapa wilayah.
Setiap permintaan membawa tiga hal: extendByDays, angka dari 1 hingga 90; extendReasonCode; dan requestIdentifier yang Anda buat sendiri. Kode alasan 3 berarti masalah layanan atau gangguan. Kode 1 adalah kepuasan pelanggan, kode 2 adalah alasan lain, dan kode 0 berarti tidak dinyatakan.
Langganan mana yang akan diperpanjang Apple
Hanya langganan perpanjangan otomatis yang aktif dengan setidaknya satu periode yang sudah dibayar yang memenuhi syarat. Apple melewati yang berikut:
- Langganan dalam periode penawaran gratis, seperti uji coba gratis.
- Langganan tidak aktif dalam status percobaan ulang penagihan.
- Langganan dalam masa tenggang penagihan yang tanggal kedaluwarsanya sudah lewat.
- Langganan yang sudah mendapat dua perpanjangan tanggal pembaruan dalam 365 hari terakhir.
- Langganan yang sudah kedaluwarsa.
Berbagi Keluarga ikut tercakup tanpa usaha tambahan. Saat Apple memperpanjang langganan yang dibeli dan mendukung Berbagi Keluarga, langganan anggota keluarga juga ikut diperpanjang. Anda tidak bisa menargetkan langganan anggota keluarga secara langsung.
Permintaan massal berjalan lambat, jadi pantau notifikasinya
Menurut Apple, permintaan untuk memperpanjang semua pelanggan aktif bisa memakan waktu berjam-jam, bahkan berhari-hari, tergantung jumlah pelanggan Anda. Respons 200 hanya berarti Apple sedang memprosesnya. App Store Server Notifications V2 memberi tahu hasilnya:
| Notifikasi | Subtipe | Artinya |
|---|---|---|
| RENEWAL_EXTENDED | tidak ada | Tanggal pembaruan satu langganan berhasil dimundurkan |
| RENEWAL_EXTENSION | FAILURE | Perpanjangan satu langganan gagal |
| RENEWAL_EXTENSION | SUMMARY | Seluruh permintaan massal sudah selesai |
Untuk setiap FAILURE, ambil originalTransactionId dari transaksi bertanda tangan di payload dan coba lagi dengan endpoint untuk satu langganan. Jika Anda lebih suka polling, Get Status of Subscription Renewal Date Extensions melaporkan apakah permintaan sudah selesai serta berapa perpanjangan yang berhasil atau gagal.
Cara kerja penundaan penagihan Google Play
Versi Google adalah purchases.subscriptionsv2.defer, dipanggil sekali per token pembelian. Body permintaan berisi deferralContext dengan tiga field. etag diambil dari purchases.subscriptionsv2.get, dan panggilan gagal jika tidak cocok dengan etag terbaru langganan. deferDuration menentukan seberapa jauh tanggal dimundurkan. Lalu validateOnly, jika bernilai true, menjalankan permintaan sebagai uji coba tanpa mengubah langganan.
Panduan penagihan Google menetapkan rentang satu hari hingga satu tahun per panggilan API. Untuk menunda lebih lama, panggil lagi sebelum tanggal kedaluwarsa baru tiba. Untuk langganan yang diperpanjang otomatis, penundaan memindahkan tanggal pembaruan berikutnya. Untuk paket prabayar, penundaan memindahkan waktu kedaluwarsa. Pada langganan dengan add-on, setiap item ditunda dengan durasi yang sama. Respons mencantumkan expiryTime baru untuk setiap item.
Selama penundaan, pengguna tetap berlangganan dengan akses penuh dan tidak ditagih untuk waktu tambahan. Google mengirim notifikasi developer real-time SUBSCRIPTION_DEFERRED. Metode lama purchases.subscriptions.defer sudah deprecated, jadi kode baru sebaiknya memakai metode v2.
Google tidak memberi tahu pelanggan Anda, jadi Anda yang harus melakukannya
Apple mengirim email kepada pelanggan setelah setiap perpanjangan berhasil. Panduan penagihan Google sama sekali tidak menyebutkan pesan kepada pengguna. Jika tujuannya adalah mencegah permintaan refund, pelanggan harus tahu bahwa waktu tambahan itu ada. Kirim pemberitahuan sendiri, di aplikasi dan lewat email, dan sebutkan berapa hari serta alasannya.
Perbandingan Apple dan Google
| Apple App Store | Google Play | |
|---|---|---|
| API | Extend a Subscription Renewal Date, ditambah endpoint massal | purchases.subscriptionsv2.defer |
| Durasi per permintaan | 1 hingga 90 hari | 1 hari hingga 1 tahun |
| Frekuensi | Dua kali per pelanggan dalam 365 hari | Tidak ada batas yang disebutkan; panggil lagi sebelum tanggal kedaluwarsa baru |
| Opsi massal | Satu panggilan per productId, opsional per storefront | Satu panggilan per token pembelian |
| Uji coba gratis | Tidak memenuhi syarat | Tidak dibahas dalam panduan Google |
| Notifikasi | RENEWAL_EXTENDED, RENEWAL_EXTENSION | SUBSCRIPTION_DEFERRED |
| Pemberitahuan ke pelanggan | Apple mengirim email | Tanggung jawab Anda |
| Dapat dibatalkan | Tidak | Tidak dibahas dalam panduan Google |
Biaya perpanjangan dibandingkan dengan refund
Refund dan perpanjangan mengambil uang dari tempat yang berbeda. Refund mengembalikan apa yang dibayar pelanggan untuk periode itu. Semua yang sudah Anda keluarkan untuk melayani pelanggan tersebut tetap hilang: komputasi untuk setiap sesi, panggilan API model, penyimpanan, dan pembayaran apa pun kepada kreator yang kontennya mereka gunakan.
Perpanjangan tetap menyimpan pembayaran. Biayanya adalah layanan yang Anda berikan tanpa ada pembaruan yang membayarnya. Setiap hari tambahan, pelanggan aktif terus menimbulkan tagihan yang sama. Untuk pengguna ringan, biayanya hampir nol. Untuk pengguna berat fitur AI, 30 hari tambahan bisa berarti 30 hari panggilan model tanpa pendapatan sama sekali. Sesuaikan perpanjangan dengan lamanya gangguan, bukan dengan permintaan maaf yang ingin Anda sampaikan.
| Yang Anda korbankan | Refund | Perpanjangan tanggal pembaruan |
|---|---|---|
| Pembayaran langganan | Dikembalikan ke pelanggan | Tetap Anda simpan |
| Biaya yang sudah dikeluarkan untuk melayani pelanggan | Hilang | Hilang |
| Komputasi, penyimpanan, dan panggilan API selama hari tambahan | Tidak ada, akses berakhir | Anda tanggung, belum ada pembaruan |
| Langganan setelahnya | Berakhir jika refund mencabut akses | Aktif, diperbarui pada tanggal baru |
Biaya komisi di Apple
Apple membayar 70% dari setiap pembaruan selama tahun pertama layanan berbayar seorang pelanggan dan 85% setelahnya. Halaman langganan Apple menyatakan bahwa hari perpanjangan pembaruan tidak dihitung sebagai hari layanan berbayar. Jadi, perpanjangan 30 hari menunda peralihan pelanggan tersebut ke 85% selama 30 hari. Jika Anda tergabung dalam App Store Small Business Program, Anda sudah menerima 85%, dan biaya ini tidak berlaku.
Biaya chargeback di Google Play
Untuk pesanan yang dibuat setelah 3 Agustus 2026, chargeback yang dimenangkan pemegang kartu membuat developer Google Play kehilangan harga pembelian dikurangi biaya layanan Play, ditambah biaya bank. Gangguan layanan adalah jenis kejadian yang membuat pelanggan yang kesal mendatangi bank mereka. Penundaan yang sampai kepada mereka lebih dulu lebih murah daripada sengketa yang hasilnya tidak bisa Anda ubah.

Saat perpanjangan bukan alat yang tepat
Pembeliannya bukan langganan
Perpanjangan tanggal pembaruan hanya berlaku untuk langganan. Jika gangguan merusak item consumable atau pembukaan fitur sekali beli, kirimkan ulang item tersebut. Jika Apple mengirim CONSUMPTION_REQUEST untuk pembelian itu, laporkan apa yang terjadi. Field deliveryStatus milik Apple punya nilai untuk kasus ini, UNDELIVERED_SERVER_OUTAGE, dan Apple menyatakan bahwa status apa pun selain DELIVERED harus disertai consumptionPercentage bernilai 0.
Pelanggan sudah memakai kedua perpanjangan Apple
Batas Apple adalah dua perpanjangan per pelanggan dalam 365 hari. Dua gangguan dalam setahun menghabiskan keduanya, dan gangguan ketiga membuat Anda tidak punya apa-apa lagi untuk ditawarkan melalui toko. Catat berapa perpanjangan yang sudah dipakai setiap originalTransactionId, agar notifikasi FAILURE dari permintaan massal tidak mengejutkan Anda.
Pelanggan sedang dalam uji coba gratis
Apple tidak akan memperpanjang langganan dalam periode penawaran gratis. Pengguna uji coba kehilangan hari gratis, bukan hari berbayar, jadi risiko refund-nya rendah. Jika Anda ingin menebusnya, pesan di dalam aplikasi lebih murah daripada panggilan API apa pun.
Daftar periksa untuk gangguan berikutnya
- Catat kapan gangguan dimulai dan berakhir, serta produk dan wilayah mana yang terdampak.
- Tentukan jumlah hari yang menutupi waktu yang hilang. Di Apple, gunakan kode alasan 3 dan tetap dalam rentang 1 hingga 90.
- Di Apple, kirim satu permintaan massal per productId, dibatasi dengan storefrontCountryCodes jika hanya beberapa wilayah yang terdampak.
- Pantau RENEWAL_EXTENSION FAILURE dan coba lagi masing-masing dengan endpoint untuk satu langganan.
- Di Google Play, iterasikan token pembelian yang aktif, baca setiap etag, jalankan dengan validateOnly terlebih dahulu, lalu lakukan penundaan yang sebenarnya.
- Beri tahu sendiri pelanggan Google Play tentang waktu tambahan, karena Google tidak akan melakukannya.
- Perbarui masa berlaku hak akses berdasarkan RENEWAL_EXTENDED dan SUBSCRIPTION_DEFERRED, bukan dari perhitungan tanggal Anda sendiri.
- Simpan log penggunaan per akun, sehingga jika permintaan refund atau chargeback tetap datang, bukti Anda siap dalam 12 jam untuk Apple dan 24 jam untuk Google.
Pertanyaan yang sering diajukan
- Berapa kali saya bisa memundurkan tanggal pembaruan langganan App Store?
- Dua kali per pelanggan dalam 365 hari. Setiap perpanjangan bisa 1 hingga 90 hari, dan langganan yang sudah mendapat dua perpanjangan dalam 365 hari terakhir tidak memenuhi syarat untuk perpanjangan berikutnya.
- Apakah Apple memberi tahu pelanggan saat saya memperpanjang langganan mereka?
- Ya. Setelah perpanjangan tanggal pembaruan berhasil, Apple mengirim email kepada pelanggan berisi tanggal pembaruan yang baru. Panduan penagihan Google Play tidak menyebutkan pesan seperti itu, jadi di Android Anda sebaiknya memberi tahu pelanggan sendiri.
- Berapa lama saya bisa menunda langganan Google Play?
- Panduan penagihan Google menyebutkan satu hari hingga satu tahun per panggilan ke purchases.subscriptionsv2.defer. Untuk menunda lebih lama, panggil API lagi sebelum tanggal kedaluwarsa baru tiba. Pengguna tetap mendapat akses penuh dan tidak ditagih untuk waktu yang ditunda.
- Bisakah saya membatalkan perpanjangan tanggal pembaruan Apple?
- Tidak. Apple menyatakan bahwa setelah perpanjangan pembaruan langganan berlaku, tidak ada cara untuk membatalkannya. Periksa produk, jumlah hari, dan storefront sebelum mengirim permintaan.
- Apakah perpanjangan tanggal pembaruan memengaruhi bagi hasil 85% saya di Apple?
- Ya. Apple tidak menghitung hari perpanjangan pembaruan sebagai hari layanan berbayar, sehingga perpanjangan menunda saat pelanggan beralih dari 70% ke 85% sebanyak jumlah hari yang Anda tambahkan. Developer dalam App Store Small Business Program sudah menerima 85%.
- Bisakah saya memperpanjang langganan yang sedang dalam uji coba gratis?
- Tidak di App Store. Apple mengecualikan langganan dalam periode penawaran gratis, beserta percobaan ulang penagihan, masa tenggang yang sudah berakhir, dan langganan yang sudah kedaluwarsa. Hanya langganan aktif dengan setidaknya satu periode berbayar yang memenuhi syarat.
Sumber dan bacaan lanjutan
- Apple Developer: Extending the renewal date for auto-renewable subscriptions
- Apple Developer: Extend a Subscription Renewal Date
- Apple Developer: Extend Subscription Renewal Dates for All Active Subscribers
- Apple Developer: extendReasonCode
- Apple Developer: Auto-renewable subscriptions
- Apple Developer: deliveryStatus
- Google Play Developer API: purchases.subscriptionsv2.defer
- Google Play Billing: Manage subscriptions and one-time purchases
- Google Play Billing: Subscription lifecycle
- Play Console Help: Updates to refund protection and chargeback cost responsibility
RefundHalt
Autopilot refund untuk App Store dan Google Play
Baca selanjutnya
Permintaan refund yang berlebihan bisa merugikan Anda lebih dari nilai refund itu sendiri, karena kedua toko aplikasi menganggapnya sinyal kualitas
Pedoman 5.6.4 Apple menyebut permintaan refund berlebihan sebagai tanda aplikasi tidak memenuhi standar kualitas, dan Perjanjian Distribusi Google mengizinkannya menghapus aplikasi developer baru berdasarkan tingkat refund. Berikut isi aturan tiap toko, biaya penghapusan, dan cara menghindarinya.
Verifikasi notifikasi server App Store sebelum Anda menindaklanjuti refund, karena siapa pun dapat mengirim ke URL webhook Anda
Notifikasi refund hanyalah permintaan HTTPS sampai Anda memeriksa tanda tangannya. Berikut cara memverifikasi notifikasi server App Store dan pesan RTDN Google Play, apa yang ditandatangani oleh setiap store, dan berapa kerugian Anda akibat refund palsu atau refund asli yang keliru ditolak.