Lompat ke konten

Konfigurasi Pengujian Sandbox iOS

GitHub

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

  • Program Pengembang Apple: Anggota aktif dengan perpanjangan tahunan
  • Perjanjian: Menandatangani “Perjanjian Aplikasi Bayar” dengan informasi perbankan dan pajak selesai
  • Proyek Xcode: Dikonfigurasi dengan identifier paket yang tepat dan kemampuan
  1. Tanda Tangan Perjanjian Aplikasi Bayar

    Di App Store Connect, navigasikan ke Perjanjian, Pajak, dan Perbankan dan lengkapi:

    • Tanda tangani Perjanjian Aplikasi Berbayar
    • Tambahkan informasi perbankan Anda
    • Lengkapi formulir pajak

    Tunggu Apple 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 tester sandbox

  3. Konfigurasi Perangkat Uji (iOS 12+)

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

    Pada perangkat iOS Anda:

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

    Pastikan projek Xcode Anda memiliki:

    Identifikasi Paket

    • Harus sesuai dengan identifikasi di Pusat Pengembang Anda
    • Harus sesuai dengan identifikasi di App Store Connect

    In-App Purchase Capability

    1. Pilih Projek Anda di Xcode
    2. Pergi ke Tanda Tangan & Kemampuan
    3. Klik + Kemampuan
    4. Tambahkan In-App Purchase
  5. Buat Produk Pembelian In-App

    Dalam App Store Connect, navigasikan ke aplikasi Anda dan buat produk pembelian in-app (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 uji. Ketika Anda mencoba melakukan pembelian, Anda harus melihat:

    [Lingkungan: Sandbox]

    Konfirmasi ini menunjukkan Anda berada di lingkungan sandbox dan tidak akan dikenakan biaya uang sungguhan.

  • Tidak Ada Biaya Nyata: Semua pembelian gratis dalam mode sandbox
  • Langganan Dipercepat: Durasi langganan dipersingkat untuk tes yang lebih cepat
    • 1 minggu langganan = 3 menit
    • 1 bulan langganan = 5 menit
    • 2 bulan langganan = 10 menit
    • 3 bulan langganan = 15 menit
    • 6 bulan langganan = 30 menit
    • 1 tahun langganan = 1 jam
  • Batasan auto-renewal: Langganan auto-renew hingga 6 kali di sandbox
  • Pembatalan segera: Langganan yang dibatalkan berakhir segera
  • Buat beberapa akun uji coba 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);

Ketika dikonfigurasi dengan benar, Anda seharusnya melihat:

  1. Banner Sandbox selama pembelian: ‘[Lingkungan: Sandbox]’
  2. Produk muat berhasil
  3. Pembelian selesai tanpa tagihan sebenarnya
  4. Resi memvalidasi benar
  5. Langganan memperbarui otomatis (dengan kecepatan yang dipercepat)

Produk tidak dimuat:

  • Pastikan identifikasi paket sesuai dengan App Store Connect
  • Periksa bahwa perjanjian telah ditandatangani dan disetujui
  • Pastikan produk setidaknya dalam status “Siap Kirim”
  • 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
  • Coba keluar dan masuk kembali ke akun sandbox
  • Restart aplikasi

Pembelian gagal diam-diam:

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

Error validasi bukti pembayaran:

  • Gunakan endpoint validasi bukti pembayaran 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 durasi yang diharapkan
  • Langganan sandbox dapat diperbarui maksimal 6 kali

"ID Apple ini belum pernah digunakan di 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
  2. Uji semua durasi langganan untuk memverifikasi perilaku
  3. Uji aliran pembatalan dan pembaruan Uji validasi penerimaan
  4. Uji apakah pembayaran berfungsi dengan benar Uji pemulihan pembelian
  5. Uji pembelian kembali fungsionalitas
  6. Periksa upgrade/downgrade langganan perilaku
  7. Uji dengan kondisi jaringan yang buruk
FiturSandboxProduksi
Tanggungan asliTidakYa
Durasi langgananDipercepatkanNormal
Batasan auto-renewal6 kaliTidak terbatas
Efek pembatalanSegeraAkhir periode
Endpoint bukti pembayaranURL SandboxURL Produksi
Akun uji coba hanyaYaTidak

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

Teruskan dari Pengaturan Pengujian Sandbox iOS

Judul bagian “Teruskan dari Pengaturan Pengujian Sandbox iOS”

Jika Anda menggunakan Pengaturan Pengujian Sandbox iOS Untuk merencanakan persetujuan toko dan distribusi, hubungkannya dengan Menggunakan @capgo/native-purchases Untuk kemampuan asli dalam Menggunakan @capgo/native-purchases, @capgo/capacitor-in-app-review Untuk detail implementasi dalam @capgo/capacitor-in-app-review, Menggunakan @capgo/capacitor-in-app-review Untuk kemampuan asli dalam Menggunakan @capgo/capacitor-in-app-review, @capgo/capacitor-native-market Untuk detail implementasi dalam @capgo/capacitor-native-market, dan Menggunakan @capgo/capacitor-native-market Untuk kemampuan asli dalam Menggunakan @capgo/capacitor-native-market.