Pembelian Dalam Aplikasi — esensi, jenis pembelian dan cara kerja monetisasi

Penulis: IT Sectr Diterbitkan: 2026-04-22 Waktu membaca: 9 mnt

In-App Purchase (IAP) — adalah mekanisme pembelian dalam aplikasi yang memungkinkan pengguna membeli barang dan layanan digital langsung di dalam aplikasi seluler. Platform iOS dan Android menyediakan API bawaan untuk melakukan pembayaran tanpa mengirimkan data kartu bank ke pengembang. Menurut dokumentasi Apple StoreKit, IAP memproses lebih dari 500 miliar dolar transaksi setiap tahun melalui App Store dan Google Play.

Poin Utama

  • In-App Purchase — mekanisme pembelian barang digital di dalam aplikasi seluler melalui API toko.
  • Consumable — pembelian sekali pakai yang dapat dibeli berulang kali (koin, nyawa, energi).
  • Non-Consumable — pembelian permanen yang tersedia setelah pembelian sekali (level, filter, fitur premium).
  • Perpanjangan Otomatis (Auto-Renewable Subscription) — pembayaran rutin untuk akses ke konten atau layanan untuk periode tertentu.
  • Server-side receipt validation — verifikasi wajib tanda terima di server sendiri untuk perlindungan dari penipuan.

Apa itu In-App Purchase?

In-App Purchase (IAP) — adalah teknologi yang memungkinkan penjualan barang dan layanan digital di dalam aplikasi seluler. Pembayaran diproses melalui App Store (di iOS) atau Google Play (di Android), yang mengenakan komisi untuk melakukan transaksi. Pengembang menerima dana setelah dikurangi komisi toko.

Apple mengenakan komisi 30% (15% untuk usaha kecil dengan pendapatan hingga 1 juta dolar). Google Play juga mengenakan 30% (15% untuk 1 juta dolar pertama pendapatan pengembang). Sejak 2024, Google menguji program User Choice Billing yang memungkinkan pengembang menggunakan sistem pembayaran alternatif.

IAP wajib untuk penjualan barang digital di aplikasi menurut kebijakan App Store dan Google Play. Barang fisik, layanan (pesan taksi, antar makanan) dan pembayaran peer-to-peer dapat menggunakan sistem pembayaran pihak ketiga.

Jenis In-App Purchase: consumable, non-consumable dan subscription

App Store dan Google Play mendukung tiga jenis utama In-App Purchase. Setiap jenis ditujukan untuk model monetisasi yang berbeda. Pemilihan jenis produk mempengaruhi logika pemulihan pembelian, manajemen langganan dan perilaku saat instal ulang aplikasi.

Consumable (pembelian habis pakai)

Consumable — adalah barang yang dapat dibeli berulang kali dan habis saat digunakan. Contoh tipikal: mata uang game (koin, berlian), nyawa tambahan, akselerator, booster habis pakai. Consumable tidak dipulihkan saat instal ulang aplikasi — pengembang mengelola saldo setiap pengguna di servernya sendiri.

Non-Consumable (pembelian tidak habis pakai)

Non-Consumable — adalah barang yang dibeli sekali dan tetap tersedia selamanya. Contoh: versi lengkap aplikasi, level premium, membuka filter, menghapus iklan. Produk non-consumable dipulihkan melalui Restore Purchases API: setelah instal ulang, pengguna dapat mengembalikan barang yang dibeli sebelumnya tanpa pembayaran ulang.

Auto-Renewable Subscription (langganan perpanjangan otomatis)

Auto-Renewable Subscription — adalah pembayaran rutin untuk akses ke konten atau layanan untuk periode tertentu (minggu, bulan, tahun). Langganan diperpanjang secara otomatis sampai pengguna membatalkannya di pengaturan akun. Toko menyediakan notifikasi server (App Store Server Notifications, Google Play Developer Notifications) tentang perubahan status langganan: perpanjangan, kedaluwarsa, pengembalian.

Konfigurasi IAP di App Store Connect dan Google Play Console

Konfigurasi In-App Purchase dimulai di panel pengembang: App Store Connect untuk iOS dan Google Play Console untuk Android. Untuk setiap produk ditentukan pengidentifikasi (Product ID), nama, deskripsi, jenis dan harga dalam dolar AS dengan konversi otomatis ke mata uang regional. Setelah dibuat, produk melalui moderasi toko.

Di App Store Connect produk IAP dibuat di bagian Features → In-App Purchases. Untuk setiap produk dipilih jenis (consumable, non-consumable, auto-renewable subscription, non-renewing subscription) dan diisi nama yang dilokalisasi. Untuk langganan, tambahan dikonfigurasi grup (Subscription Groups) — grup langganan yang saling dipertukarkan.

Di Google Play Console produk terkelola (managed products) dikonfigurasi di bagian Monetise → Products → In-app products. Google menggunakan istilah Managed Product (analog non-consumable) dan Subscription. Untuk pembelian consumable di Android digunakan flag consume terpisah yang mereset produk untuk pembelian ulang.

Moderasi produk IAP rata-rata memakan waktu 24–48 jam di App Store dan beberapa jam di Google Play. Perubahan harga diterapkan segera tanpa moderasi ulang. Product ID tidak dapat diubah setelah dibuat — hanya dapat dihapus dan dibuat ulang.

Server-side receipt validation dan perlindungan dari penipuan

Receipt validation (verifikasi tanda terima) — tahap wajib pemrosesan In-App Purchase. Aplikasi klien mengirim tanda terima (receipt) ke server sendiri, server memverifikasinya melalui API Apple (https://buy.itunes.apple.com) atau Google (https://androidpublisher.googleapis.com) dan hanya setelah validasi berhasil memberikan barang ke pengguna.

Tanpa validasi server, penyerang dapat memalsukan respons toko dan mendapatkan barang secara gratis. Client-side validation tidak aman karena dijalankan di lingkungan yang dikendalikan pengguna. Verifikasi server menjamin bahwa tanda terima asli dan pembayaran berhasil. Untuk Apple verifikasi dilakukan melalui endpoint verifyReceipt (production atau sandbox), untuk Google — melalui Android Publisher API. Kedua toko mengembalikan konfirmasi dalam format JSON.

Apple mengembalikan dalam tanda terima data pembelian: product_id, transaction_id, purchase_date, expiration_date (untuk langganan). Google mengembalikan bidang serupa melalui API Purchases.products.get atau Purchases.subscriptions.get. Server harus menyimpan transaction_id setiap tanda terima dan menolak permintaan berulang dengan ID yang sama untuk perlindungan dari serangan replay.

Integrasi IAP ke aplikasi seluler di Swift dan Kotlin

Integrasi In-App Purchase memerlukan menghubungkan pustaka platform: StoreKit 2 di iOS dan Billing Library 7+ di Android. API memungkinkan meminta daftar produk, memulai pembelian, memproses hasil dan memulihkan barang yang dibeli sebelumnya.

Swift — StoreKit 2 di iOS 17+

swift
import StoreKit

func purchaseProduct(productID: String) async throws {
    guard let product = try await Product.products(for: [productID]).first else { return }
    let result = try await product.purchase()
    switch result {
    case .success(let verification):
        let transaction = try verification.payloadValue
        await validateReceipt(transaction)
        await transaction.finish()
    default:
        break
    }
}

Kotlin — Billing Library 7

kotlin
import com.android.billingclient.api.BillingClient
import com.android.billingclient.api.BillingFlowParams

val billingClient = BillingClient.newBuilder(context)
    .setListener { billingResult, purchases ->
        if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
            purchases?.forEach { purchase ->
                validateReceipt(purchase)
            }
        }
    }
    .build()

val params = BillingFlowParams.newBuilder()
    .setProductDetails(productDetails)
    .build()
billingClient.launchBillingFlow(activity, params)

Server-side receipt validation (Node.js)

js
const response = await fetch('https://buy.itunes.apple.com/verifyReceipt', {
    method: 'POST',
    body: JSON.stringify({
        'receipt-data': receiptBase64,
        'password': 'SHARED_SECRET'
    })
})

const data = await response.json()
if (data.status === 0) {
    // Tanda terima dikonfirmasi — memberikan barang
    await grantProduct(data.receipt.product_id)
}

Praktik terbaik monetisasi melalui In-App Purchase

Monetisasi melalui In-App Purchase memerlukan strategi harga dan UX yang matang. Pengguna lebih cenderung melakukan pembelian pertama jika ditawari paket awal yang menarik (starter pack) dengan harga rendah. Apple dan Google merekomendasikan menampilkan harga produk sebelum konfirmasi pembelian.

Subscription onboarding — tahap konversi kritis. Tunjukkan kepada pengguna nilai langganan sebelum meminta pembayaran: masa uji coba gratis, perbandingan paket, daftar keuntungan. Menurut penelitian, masa uji coba gratis (free trial) meningkatkan konversi pengguna berbayar sebesar 25–40%.

Restore Purchases wajib untuk produk non-consumable dan langganan. Tombol pemulihan harus tersedia di pengaturan aplikasi atau di layar pembayaran. Google dan Apple dapat menolak aplikasi jika pemulihan pembelian tidak diimplementasikan untuk jenis IAP yang sesuai.

Grace Period — periode tenggang untuk langganan di mana pengguna tetap memiliki akses setelah pembayaran gagal. iOS dan Android mendukung grace period hingga 30 hari. Mengaktifkan grace period mengurangi tingkat churn sebesar 10–15%.

Pengujian A/B harga IAP — praktik monetisasi penting. App Store Connect mendukung harga lokal (Price Tiers) dengan kemampuan mengubah harga tanpa moderasi ulang produk. Google Play Console memungkinkan mengonfigurasi hingga 5 paket dasar dengan harga berbeda untuk satu produk langganan. Disarankan menguji setidaknya dua titik harga: saat ini dan baru. Pengujian dilakukan selama 2–4 minggu pada sampel setidaknya 1000 pengguna per titik harga.

Peninjauan Toko dan Manajemen Penolakan — tahap wajib publikasi aplikasi dengan IAP. Apple secara khusus memeriksa aplikasi dengan langganan perpanjangan otomatis: perlu menyediakan akun uji dengan langganan aktif, menampilkan layar pembatalan langganan dan mengimplementasikan Restore Purchases. Google Play kurang ketat tetapi meminta konfirmasi hak atas konten digital. Disarankan menambahkan catatan untuk peninjau (Review Notes) dengan deskripsi logika IAP.

Pertanyaan Umum

Apa itu In-App Purchase dan bagaimana cara kerjanya?

In-App Purchase (IAP) — adalah mekanisme pembelian barang digital di dalam aplikasi seluler. Pembayaran diproses melalui App Store atau Google Play yang menahan komisi 30% (15% untuk usaha kecil) dan mentransfer sisanya ke pengembang.

Apa saja jenis In-App Purchase?

Ada tiga jenis IAP: consumable (habis pakai — koin, nyawa), non-consumable (permanen — hapus iklan, versi lengkap) dan auto-renewable subscription (perpanjangan otomatis — akses ke konten untuk periode). Non-consumable mendukung pemulihan pembelian.

Bagaimana melindungi In-App Purchase dari peretasan?

Metode perlindungan utama — server-side receipt validation. Klien mengirim tanda terima ke server Anda, server memverifikasinya melalui API Apple atau Google. Tanpa validasi server, penyerang dapat memalsukan respons toko dan mendapatkan barang gratis.

Bagaimana mengatur In-App Purchase di aplikasi?

Konfigurasi IAP meliputi: membuat produk di App Store Connect atau Google Play Console, menghubungkan StoreKit (iOS) atau Billing Library (Android), mengimplementasikan pembelian dan verifikasi server tanda terima. Setiap produk melalui moderasi toko.

Berapa komisi toko untuk In-App Purchase?

Apple mengenakan 30% (15% untuk pengembang dengan pendapatan hingga 1 juta dolar). Google Play juga mengenakan 30% (15% untuk 1 juta pertama). Sejak 2024, Google menguji sistem pembayaran alternatif melalui User Choice Billing. Pengembang dapat memilih penyedia pembayaran pihak ketiga tetapi harus membayar biaya layanan Google 11–12%.

Ringkasan

  • In-App Purchase — mekanisme penjualan barang digital di aplikasi seluler melalui API App Store dan Google Play.
  • Tiga jenis IAP: consumable (habis pakai), non-consumable (permanen) dan auto-renewable subscription (perpanjangan otomatis).
  • Komisi toko sebesar 30% (15% untuk usaha kecil).
  • Server-side receipt validation — perlindungan wajib dari pemalsuan tanda terima di sisi klien.
  • Moderasi produk IAP memakan waktu 24–48 jam di App Store dan beberapa jam di Google Play.
  • Subscription onboarding dengan masa uji coba gratis meningkatkan konversi pengguna berbayar sebesar 25–40%.
  • Grace Period hingga 30 hari mengurangi tingkat churn pelanggan sebesar 10–15% saat kegagalan pembayaran.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga