Anda mungkin perlu mengambil tindakan pengelolaan atas langganan atau pembelian satu kali sebagai bagian dari bisnis sehari-hari. Misalnya, layanan pelanggan Anda mungkin perlu melakukan pengembalian dana total atau sebagian untuk pengguna, atau Anda mungkin harus mencabut hak dalam kasus tertentu. Anda dapat mengelola pesanan dari Konsol Play, atau jika Anda ingin mengelolanya dari sistem Anda sendiri, Anda dapat melakukannya dengan menggunakan Google Play Developer API.
Membatalkan langganan
Pengguna dapat membatalkan langganan Google Play kapan saja menggunakan Play Store, tetapi Anda juga harus memberikan opsi bagi pengguna untuk membatalkan langganan di aplikasi dan di situs Anda, jika berlaku.
Cara termudah untuk memungkinkan pengguna membatalkan secara sukarela adalah dengan deep link ke Play Store, tempat mereka dapat melihat dan mengelola langganan mereka.
Anda mungkin juga perlu memicu pembatalan dari backend.
purchases.subscriptions.cancel
memungkinkan Anda membatalkan pembelian langganan.
Misalnya, Anda dapat menggunakan metode ini untuk menonaktifkan layanan lama.
Pembatalan langganan tidak memberikan pengembalian dana, dan pengguna tetap
memiliki akses hingga akhir periode penagihan mereka saat ini. Membatalkan
langganan dengan metode ini mencegah pengguna memulihkan langganan
di Play Store, tetapi pengguna tetap dapat mendaftar lagi melalui aplikasi Anda jika mereka
jika diperlukan.
Melakukan tindakan ini akan memicu Developer real time SUBSCRIPTION_CANCELED
notifikasi. Tangani pembatalan ini seperti yang dijelaskan di
Pembatalan.
Menangguhkan penagihan
Gunakan subscriptions.defer
guna memperpanjang periode hak langganan. Selama masa penundaan,
pengguna tetap berlangganan konten Anda meskipun tidak dikenakan biaya
baik. Saat Anda menunda penagihan langganan, informasi statusnya adalah
diperbarui sebagaimana mestinya dan Anda melihatnya tercermin di kolom expiryTime
pada
informasi status pembelian:
- Untuk langganan berulang aktif, penagihan yang ditangguhkan akan memperpanjang durasi langganan tanggal perpanjangan.
- Untuk paket prabayar, penagihan yang ditangguhkan akan memperpanjang waktu habis masa berlaku.
Beberapa contoh cara menggunakan penagihan yang ditangguhkan adalah:
- Memberikan akses gratis kepada pengguna sebagai penawaran spesial, seperti memberikan satu minggu gratis kepada pelanggan lama untuk mengisi survei masukan.
- Memberi pelanggan akses tanpa biaya sebagai tindakan layanan pelanggan, misalnya setelah pemadaman layanan berkepanjangan yang mungkin mempengaruhi kemampuan mereka dalam menggunakan layanan Anda.
Penagihan dapat ditunda selama minimal satu hari dan hingga satu tahun per panggilan API. Untuk menunda akhir hak lebih lanjut, panggil API lagi sebelum tanggal habis masa berlaku yang baru tiba.
Melakukan tindakan ini akan memicu Developer real time SUBSCRIPTION_DEFERRED
notifikasi. Lihat Menunda penagihan untuk pelanggan di artikel Tentang langganan untuk mempelajari cara menangani peristiwa ini.
Contoh:
Layanan streaming FitnessGoals ingin menjalankan promosi ke mendorong mereka untuk melakukan olahraga secara teratur di bulan Februari.
Mereka memutuskan untuk menawarkan layanan tambahan selama satu bulan kepada setiap pelanggan yang melakukan latihan dengan Tujuan Kebugaran minimal 10 kali dalam sebulan Februari.
Mereka melacak hasil tantangan, dan pada 1 Maret, mereka memanggil
subscriptions.defer
API untuk setiap pembelian langganan aktif milik pengguna yang memenuhi tantangan pada bulan Februari.Pengguna ini mendapatkan manfaat dari latihan rutin selama sebulan penuh video tanpa biaya, dan pengguna memberi tahu semua teman mereka cara membantu mereka tetap sehat!
Melakukan pengembalian dana dan pencabutan
Ada banyak situasi di mana Anda mungkin ingin mengembalikan dana atau mencabutnya akses ke langganan atau pembelian satu kali.
Mengembalikan dana penuh pesanan berdasarkan ID pesanan
Dengan orders.refund
API, Anda dapat melakukan pengembalian dana penuh untuk pesanan apa pun dalam waktu tiga tahun setelah pembelian.
Metode orders.refund
menerima parameter pencabutan yang menunjukkan apakah
akses harus dicabut selain memberikan pengembalian dana.
Jika Anda melakukan pencabutan dengan panggilan pengembalian dana untuk pembelian langganan,
langganan akan langsung dihentikan dan hal tersebut memicu SUBSCRIPTION_REVOKED
Notifikasi Developer Real Time. Membaca pengelolaan siklus proses langganan
panduan bagian Pencabutan
untuk mempelajari cara
menangani peristiwa ini.
Contoh:
Untuk merayakan awal piala dunia yang baru, aplikasi e-sport Football-Not-Foot memutuskan untuk memperebutkan jersey virtual gratis untuk semua pengguna yang membeli kit tim baru dalam 24 jam pertama.
Football-Not-Foot menggunakan
orders.refund
tanpa meneruskan parameter pencabutan untuk mengembalikan dana pembelian kaus ke pemenang penghargaan.
Mencabut dan mengembalikan dana langganan dengan token pembelian
Untuk kasus penggunaan tertentu, Anda mungkin perlu mencabut akses ke langganan pengguna
dan memberikan pengembalian dana. Layanan Penagihan Play menawarkan metode pencabutan termasuk
pengembalian dana dan pengembalian dana prorata melalui subscriptionsv2.revoke
Compute Engine API. Dengan endpoint ini, Anda dapat menentukan revocationContext
untuk menentukan cara penghitungan pengembalian dana.
Melakukan tindakan ini akan memicu Developer Real Time SUBSCRIPTION_REVOKED
Notifikasi. Aplikasi Anda harus menangani pembatalan ini seperti yang dijelaskan di
Pencabutan.
Contoh:
- Beli dengan token pembelian
1a2b3c4d5e6f7g8h9i0j
- Aplikasi dengan nama paket
com.your.app
- Berniat melakukan pengembalian dana prorata
Permintaan POST HTTP:
https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke
Isi permintaan:
{
"revocationContext": {
"proratedRefund": {}
}
}
Pengembalian dana penuh
Jika Anda perlu menghentikan langganan dan mengembalikan dana penuh
periode penagihan saat ini, lakukan pengembalian dana penuh. Gunakan
purchases.subscriptionsv2.revoke
fungsi, dan tetapkan "fullRefund": {}
sebagai jenis pengembalian dana.
Contoh:
Maria memiliki langganan 30 hari yang diperpanjang otomatis untuk streaming SuperMovies bulanan Anda. Maria mengalami beberapa masalah teknis yang mencegahnya untuk mengakses konten. Ia menghubungi layanan pelanggan pada hari ke-3 penagihannya siklus yang menyatakan bahwa ia tidak pernah mendapatkan akses ke langganan.
Layanan pelanggan menemukan detail pembelian langganan Maria di dan memicu panggilan ke
purchases.subscriptionsv2.revoke
meminta pengembalian dana penuh.Layanan pelanggan memberi tahu Maria bahwa ia harus mendapatkan 100% dari bisnisnya harga langganan dikembalikan dan dia tidak berlangganan paket itu lagi.
Pengembalian dana prorata
Jika Anda perlu menghentikan langganan dan mengembalikan sebagian dana sisanya
hak, keluarkan pengembalian dana prorata. Gunakan
purchases.subscriptionsv2.revoke
fungsi, dan tetapkan "proratedRefund": {}
sebagai jenis pengembalian dana.
Contoh:
Maria memiliki langganan 30 hari yang diperpanjang otomatis untuk streaming SuperMovies bulanan Anda. Dia merasa senang menggunakan layanan ini selama beberapa waktu. Maria menghubungi layanan pelanggan pada hari ke-15 dalam siklus penagihannya, yang menyatakan bahwa dia pindah ke luar negeri dan tidak dapat menggunakan layanan ini lagi mulai hari berikutnya.
Layanan pelanggan menemukan detail pembelian langganan Maria di dan memicu panggilan ke
purchases.subscriptionsv2.revoke
yang meminta pengembalian dana prorata.Layanan pelanggan memberi tahu Maria bahwa dia seharusnya mendapatkan sekitar 50% harga langganan dikembalikan dan akses ke layanan dihentikan segera.