Lompat ke konten

Konfigurasi Pengujian Sandbox iOS

Menguji pembelian dalam aplikasi di iOS memerlukan pengaturan yang tepat di App Store Connect dan pada perangkat uji Anda. Petunjuk ini mencakup segala sesuatu yang Anda butuhkan untuk memulai dengan pengujian sandbox.

  • Program Pengembang Apple: Anggota aktif dengan perpanjangan tahunan
  • Ketentuan: Menandatangani “Ketentuan Aplikasi Berbayar” dengan informasi keuangan dan pajak selesai
  • Proyek Xcode: Konfigurasi dengan bundle identifier dan kemampuan yang tepat
  1. Tanda Tangan Perjanjian Aplikasi Berbayar

    Dalam App Store Connect, navigasikan ke Perjanjian, Pajak, dan Keuangan dan lengkapi:

    • Tanda Tangan Perjanjian Aplikasi Berbayar
    • Tambahkan informasi keuangan Anda
    • Lengkapi formulir pajak

    Tunggu Apple untuk menyetujui informasi Anda (hal ini dapat memakan waktu 24-48 jam).

  2. Buat Pengguna Uji Coba Sandbox

    Di App Store Connect, pergi ke Pengguna dan Akses > Pengujian Sandbox.

    Klik tombol + untuk membuat pengujian sandbox baru.

    Penting: Gunakan alamat email yang TIDAK sudah terkait dengan ID Apple. Anda dapat menggunakan alias email:

    • Gmail: youremail+test@gmail.com
    • iCloud: youremail+test@icloud.com

    Buat pengujian sandbox

  3. Konfigurasi Perangkat Uji (iOS 12+)

    Mulai dari iOS 12, Anda tidak perlu keluar dari akun iTunes Anda untuk menguji pembelian.

    Pada perangkat iOS Anda:

    1. Buka Pengaturan
    2. Sentuh App Store
    3. Geser ke bagian bawah
    4. Sentuh Akun Sandbox
    5. Masuk dengan akun uji sandbox Anda
  4. Konfigurasi Proyek Xcode

    Pastikan proyek Xcode Anda memiliki:

    Identifier Paket

    • Harus sesuai dengan identifier di Pusat Pengembang
    • Harus sesuai dengan identifier di App Store Connect

    Kemampuan Pembelian Aplikasi

    1. Pilih proyek Anda di Xcode
    2. Buka Tanda Tangan & Kemampuan
    3. Klik + Kemampuan
    4. Tambahkan Pembelian Aplikasi
  5. Buat Produk Pembelian Aplikasi

    Dalam App Store Connect, navigasikan ke aplikasi Anda dan buat produk pembelian aplikasi (langganan, konsumabel, dll.).

    Produk harus dalam status setidaknya “Siap untuk Mengirim” untuk tes sandbox.

  6. Tes Implementasi Anda

    Buat dan jalankan aplikasi Anda pada perangkat tes. Ketika Anda mencoba membeli, Anda seharusnya melihat:

    [Lingkungan: Sandbox]

    Konfirmasi ini menunjukkan Anda berada dalam lingkungan sandbox dan tidak akan dikenakan biaya uang nyata.

  • Tidak Ada Biaya yang Nyata: Semua pembelian gratis dalam mode sandbox
  • Langganan yang Dipercepat: Durasi langganan dipendekkan untuk tes yang lebih cepat
    • Langganan 1 minggu = 3 menit
    • Langganan 1 bulan = 5 menit
    • Langganan 2 bulan = 10 menit
    • Langganan 3 bulan = 15 menit
    • Langganan 6 bulan = 30 menit
    • Langganan 1 tahun = 1 jam
  • __CAPGO_KEEP_0__Maksud Auto-renewal: hingga 6 kali dalam mode sandbox
  • __CAPGO_KEEP_1__Maksud Pembatalan Langsung: Langganan yang dibatalkan berakhir segera
  • Buat beberapa akun uji untuk skenario yang berbeda
  • Gunakan akun uji hanya pada perangkat uji
  • Jangan gunakan ID Apple pribadi untuk tes sandbox
  • Akun uji dapat membeli produk apa pun tanpa mempertimbangkan wilayah
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { isBillingSupported } = await NativePurchases.isBillingSupported();
if (!isBillingSupported) {
throw new Error('StoreKit not supported on this device');
}
// Fetch products (automatically uses sandbox when available)
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
// Make test purchase
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Test purchase successful!', transaction.transactionId);

Jika Anda telah mengkonfigurasi dengan benar, Anda seharusnya melihat:

  1. Banner Sandbox selama pembelian: “[Lingkungan: Sandbox]”
  2. Produk memuat dengan sukses
  3. Pembelian selesai tanpa tagihan sebenarnya
  4. Faktur memvalidasi dengan benar
  5. Langganan akan diperbarui secara otomatis (dengan kecepatan yang dipercepat) Bagian berjudul “Pengaturan”

Periksa bahwa perjanjian telah ditandatangani dan disetujui

  • Pastikan produk setidaknya memiliki status “Siap untuk Dikirim”
  • Tunggu 2-3 jam setelah membuat produk
  • “Tidak dapat terhubung ke iTunes Store”:
  • Pastikan akun sandbox telah dikonfigurasi dengan benar

Periksa apakah perangkat terhubung ke internet

  • Pengaturan
  • Produk tidak terbuka: Pastikan identifikasi paket sesuai dengan App Store Connect
  • Coba keluar dan masuk kembali ke akun sandbox
  • Restart aplikasi

Pembelian gagal diam-diam:

  • Periksa konsol Xcode untuk pesan kesalahan
  • Pastikan kemampuan Pembelian dalam Aplikasi diaktifkan
  • Pastikan alamat email akun sandbox bukan ID Apple yang sebenarnya
  • Coba membuat akun uji sandbox baru

Error validasi bukti pembelian:

  • Gunakan endpoint validasi bukti pembelian sandbox dalam pengujian
  • Endpoint produksi: https://buy.itunes.apple.com/verifyReceipt
  • Endpoint sandbox: https://sandbox.itunes.apple.com/verifyReceipt
  • Plugin native-purchases menghandle hal ini secara otomatis

Durasi langganan yang salah:

  • Ingat bahwa langganan di sandbox dipercepat.
  • Gunakan tabel konversi di atas untuk mengetahui durasi yang diharapkan.
  • Langganan akan diperbarui otomatis maksimal 6 kali di sandbox.

“This Apple ID has not yet been used in the iTunes Store”:

  • Hal ini normal untuk akun sandbox baru.
  • Lanjutkan pembelian untuk mengaktifkan akun.
  • Hanya terjadi pada penggunaan pertama.
  1. Buat beberapa akun uji coba untuk skenario uji coba yang berbeda Buat beberapa akun uji coba untuk skenario uji coba yang berbeda
  2. Menguji semua durasi langganan untuk memastikan perilaku untuk memastikan perilaku berfungsi dengan benar
  3. Menguji aliran pembatalan dan pembaruan Menguji validasi penerimaan
  4. Menguji fungsi pemulihan pembelian Menguji perilaku peningkatan/turunan langganan
  5. Menguji perilaku dengan kondisi jaringan yang buruk Menguji perilaku produksi vs. Sandbox
  6. __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
  7. __CAPGO_KEEP_0__
FiturSandboxProduksi
Tunggakan sebenarnyaTidakYa
Durasi langgananDipercepatNormal
Batasan auto-renewal6 kaliTidak Terbatas
Efek PembatalanSegeraAkhir Periode
Endpoint PembayaranURL SandboxURL Produksi
Hanya Akun UjiYaTidak

Untuk informasi lebih lanjut, silakan lihat dokumentasi resmi Apple StoreKit pada pengujian sandbox.