Guideline 3.1.1: bila pembelian dalam aplikasi diwajibkan
Oleh Mehdi Azizi
Diterbitkan pada , 9 min
Guideline 3.1.1: semua kandungan atau fungsi digital yang dibuka dalam app mesti melalui pembelian dalam aplikasi Apple. Pengecualian, peraturan EU dan AS.
Guideline 3.1.1 mewajibkan pembelian dalam aplikasi (in-app purchase) Apple sebaik sahaja app anda membuka kandungan atau fungsi digital: langganan, versi penuh, mata wang permainan, kandungan premium. Penolakan 3.1.1 bermaksud Apple menemui pintu masuk lain ke kandungan itu: pembayaran di laman web anda, kunci lesen, kod sendiri, butang ke halaman pembayaran. Pembetulannya ialah melalui pembelian dalam aplikasi, kecuali jika kes anda termasuk dalam pengecualian atau peraturan serantau.
Saya menerbitkan app iOS saya sendiri, dan app yang ada langganan menjualnya melalui pembelian dalam aplikasi Apple. Saya tidak pernah menerima penolakan 3.1.1, dan saya tidak akan berpura-pura sebaliknya. Panduan ini berdasarkan teks rasmi, versi 8 Jun 2026 yang saya baca pada 15 Oktober 2026, dan syarat serantau yang diterbitkan oleh Apple. Kes berkaitan iaitu langganan, dengan dua penolakan sebenar, ada dalam panduan tentang guideline 3.1.2.
Apa kata guideline 3.1.1?
3.1.1, "In-App Purchase", membuka bahagian 3.1 "Payments" dalam App Review Guidelines. Sebab itulah tajuk e-mel berbunyi: "Guideline 3.1.1 - Business - Payments - In-App Purchase". Ayat pertamanya menyatakan perkara utama: untuk membuka fungsi dalam app anda, "you must use in-app purchase", anda mesti menggunakan pembelian dalam aplikasi. Apple menyebut langganan, mata wang permainan, tahap, kandungan premium dan versi penuh.
Ayat seterusnya menyasarkan cara memintas. App tidak boleh menggunakan mekanismenya sendiri untuk membuka kandungan: Apple menamakan kunci lesen, penanda realiti tambahan, kod QR, mata wang kripto dan dompet kripto.
Peraturan yang sama menambah kewajipan yang sering dilupakan:
- kredit dan mata wang yang dibeli melalui pembelian dalam aplikasi tidak luput, dan setiap pembelian yang boleh dipulihkan ada mekanisme pemulihan;
- peti atau cabutan berbayar ("loot box") memaparkan peluang mendapat setiap jenis item sebelum pembelian;
- kad hadiah, baucar atau kupon digital dijual dalam app melalui pembelian dalam aplikasi; kad fizikal yang dihantar melalui pos boleh menggunakan kaedah lain;
- app tanpa langganan boleh menawarkan percubaan terhad masa, dalam bentuk pembelian dalam aplikasi percuma bernama "XX-day Trial", yang memaklumkan sebelum bermula tempohnya, apa yang akan hilang dan apa yang perlu dibayar;
- tip kepada pembangun dibenarkan, melalui pembelian dalam aplikasi.
Situasi yang mencetuskan penolakan 3.1.1
| Apa yang app lakukan | Sebab Apple menolak | Pembetulan |
|---|---|---|
| Membuka kandungan yang dibeli di laman web anda | Tiada pembelian dalam aplikasi setara | Jual juga melalui pembelian dalam aplikasi |
| Memaparkan "Bayar di laman web kami" | Arahan ke pembayaran lain | Buang butang, kecuali ada pengecualian |
| Meminta kunci lesen atau kod sendiri | Mekanisme pembukaan dilarang | Kod tawaran Apple |
| Membuka dengan mata wang kripto | Mekanisme pembukaan dilarang | Pembelian dalam aplikasi |
| Menjual kredit yang luput | Kewajipan 3.1.1 | Kredit kekal dan pemulihan |
| Menjual peti tanpa kebarangkalian | Peluang tidak dipaparkan | Kebarangkalian jelas sebelum pembelian |
Baris pertama paling kerap disalah faham. Dalam satu penolakan yang dikongsi di forum Apple, mesej menyatakan app "accesses digital content purchased outside the app", mengakses kandungan yang dibeli di tempat lain, "but that content isn't available to purchase using in-app purchase". Apple tidak membantah anda ada laman web yang menjual: Apple membantah kerana app tidak menawarkan pembelian yang sama melalui Apple.
Untuk menawarkan akses percuma atau diskaun, Apple ada sistemnya sendiri, iaitu kod tawaran. Menurut dokumentasi StoreKit, kod ini berfungsi untuk semua jenis pembelian dalam aplikasi: langganan, boleh guna habis dan tidak boleh guna habis. Anda menciptanya dalam App Store Connect, dan pengguna memasukkannya dalam App Store atau dalam app anda.
Pengecualian: bila pembelian dalam aplikasi tidak diwajibkan
Peraturan 3.1.3 menyenaraikan app yang boleh menggunakan kaedah pembayaran lain. Ini jadual yang saya guna untuk mengetahui di mana sesuatu projek berada.
| Kes anda | Pembelian dalam aplikasi wajib? | Peraturan |
|---|---|---|
| Langganan, versi penuh, kandungan digital | Ya | 3.1.1 |
| Produk fizikal, perkhidmatan digunakan di luar app | Tidak, kaedah lain diwajibkan | 3.1.3(e) |
| Kelas atau konsultasi secara langsung, dua orang | Tidak | 3.1.3(d) |
| Kelas secara langsung berkumpulan | Ya | 3.1.3(d) |
| Akhbar, buku, muzik, video yang dibeli di tempat lain | Tidak untuk mengaksesnya | 3.1.3(a) |
| Perkhidmatan merentas platform dibeli di laman anda | Akses dibenarkan jika juga dalam pembelian dalam aplikasi | 3.1.3(b) |
| Alat yang dijual kepada syarikat untuk pekerjanya | Tidak | 3.1.3(c) |
| App percuma pendamping alat web, tanpa pembelian | Tidak | 3.1.3(f) |
Dua had. App yang menggunakan pengecualian tidak boleh, di dalam app, mendorong ke kaedah pembayaran lain, kecuali di storefront Amerika Syarikat dan kes yang ditetapkan oleh Apple. Sebaliknya, Apple menyatakan "Developers can send communications outside of the app": anda boleh menghubungi pengguna anda di luar app, contohnya melalui e-mel.
Peraturan mengikut rantau pada Oktober 2026
Di sini, teks berubah dengan cepat. Yang berikut berdasarkan teks Apple yang dibaca pada 15 Oktober 2026: baca semula sebelum anda menulis kod pembayaran luaran.
| Rantau | Apa yang dibenarkan selain pembelian dalam aplikasi |
|---|---|
| Amerika Syarikat | Butang dan pautan ke pembayaran lain, tanpa entitlement |
| Kesatuan Eropah | Pembayaran alternatif dalam app dan tawaran di luar app, dengan syarat |
| Jepun, Brazil, Korea Selatan | Program tersendiri, melalui permohonan entitlement |
| Negara lain | Tiada butang, pautan atau ajakan ke pembayaran lain |
Amerika Syarikat
Peraturan 3.1.1(a) menyatakan entitlement "are not required for developers to include buttons, external links, or other calls to action in their United States storefront apps". Di storefront Amerika Syarikat, butang ke laman web anda dibenarkan. Binari anda sama di semua tempat: jika anda menambah butang ini, app perlu tahu storefront mana pengguna berada. StoreKit memberikannya melalui Storefront.
Kesatuan Eropah
Syarat baharu terpakai sejak 1 Oktober 2026, menurut halaman Apple tentang pilihan pembayaran di EU. Anda boleh kekalkan pembelian dalam aplikasi sahaja, tanpa mengubah apa-apa. Anda juga boleh menawarkan penyedia pembayaran dalam app, atau tawaran di luar app, contohnya ke laman web anda. Apple kemudiannya mewajibkan antara lain:
- entitlement "StoreKit External Purchases or Offers" dan, untuk pautan atau pembayaran dalam app, tetingkap maklumat sistem;
- pembelian dalam aplikasi sekurang-kurangnya sama jelas dengan pilihan lain, apabila kedua-duanya ada di skrin;
- tiada sebutan tentang pembayaran ini di halaman App Store anda;
- kawalan ibu bapa untuk bawah umur, dan tiada tawaran di luar app sebelum umur 13 tahun, atau lebih mengikut negara;
- pilihan yang sama di semua storefront EU selama 12 bulan.
Komisen dikenakan mengikut pilihan yang dibuat. Baca bahagiannya di halaman yang sama sebelum membuat keputusan.
Negara lain
Di tempat lain, peraturan kekal ketat: "apps and their metadata may not include buttons, external links, or other calls to action" ke kaedah pembayaran lain. Perkataan "metadata" penting: penerangan yang mengumumkan "lebih murah di laman web kami" juga tertakluk kepada peraturan ini. Beberapa negara, termasuk Jepun, Brazil dan Korea Selatan, ada program sendiri, yang disenaraikan dalam dokumentasi External Purchase.
Membetulkan penolakan 3.1.1 dan membalas Apple
- Kenal pasti pintu masuk. Mesej menyebut kandungan atau skrin yang terlibat: kandungan dibeli di tempat lain, butang, kod, pautan.
- Tutup atau gandakan. Sama ada anda buang butang atau kod, atau anda jual kandungan yang sama melalui pembelian dalam aplikasi.
- Gunakan pengecualian hanya jika ia benar. Sebut perenggan 3.1.3 dan terangkan dalam dua ayat kenapa kes anda termasuk di dalamnya.
- Beri penyemak sesuatu untuk diuji. Akaun demo dan laluan ke paywall, dalam nota semakan, seperti yang saya terangkan dalam panduan tentang guideline 2.1.
Anda membalas dalam bahagian App Review di App Store Connect, mengikut prosedur untuk membalas App Review. Ini templat untuk kes paling biasa, kandungan yang dibeli di laman web. Ini contoh sahaja: gantikan build, produk dan laluan dengan milik anda.
Hello,
Thank you for your review.
Issue: the app gave access to premium content purchased on our
website, without offering the same purchase in the app.
Fix in build X:
- Premium access is now available as an auto-renewable
subscription through in-app purchase, on the paywall.
- The "Subscribe on our website" button has been removed.
- A "Restore Purchases" button is available on the paywall.
How to verify: launch the app and open any premium screen.
The paywall shows the in-app purchase options.
Best regards,
Butang dan paywall ada dalam kod: anda perlukan build baharu. Jika anda masih yakin kes anda adalah pengecualian, Apple juga membenarkan anda membuat rayuan kepada App Review Board.
Memasang pembelian dalam aplikasi tanpa menulis semula semuanya
Untuk pemula, jalan paling mudah ialah mencipta produk dalam App Store Connect, kemudian menyambungkannya ke app dengan RevenueCat: caranya ada dalam RevenueCat: menyediakan langganan dalam aplikasi. Jika anda ragu antara dua model, baca langganan atau pembelian sekali. Jika anda membina dengan alat tanpa kod, pastikan ia boleh mengendalikan pembelian dalam aplikasi: ini salah satu perkara dalam mencipta aplikasi tanpa kod.
Sebaik sahaja pembelian dalam aplikasi anda ialah langganan, 3.1.2 turut terpakai: jumlah yang dicaj dipaparkan dengan jelas, tempoh, pembaharuan, pautan. Kesilapan skrin paling biasa ada dalam paywall iOS: 7 kesilapan pemula.
Senarai semak 3.1.1 sebelum penghantaran
- Semua yang dibuka dalam app (fungsi, kandungan, tahap, mata wang) dibeli melalui pembelian dalam aplikasi.
- Tiada butang, pautan atau teks yang mengarah ke pembayaran luaran, kecuali storefront Amerika Syarikat atau program serantau yang diperoleh.
- Penerangan halaman app anda tidak menyebut kaedah pembayaran lain.
- Kandungan yang dijual di laman web anda juga dijual melalui pembelian dalam aplikasi dalam app.
- Tiada kunci lesen, kod QR, kod sendiri atau kripto yang membuka apa-apa.
- Untuk menawarkan akses, anda menggunakan kod tawaran Apple.
- Kredit yang dibeli tidak luput, dan butang "Restore Purchases" berfungsi.
- Setiap peti atau cabutan berbayar memaparkan kebarangkaliannya sebelum pembelian.
- Produk fizikal atau perkhidmatan di luar app menggunakan Apple Pay atau kad, bukan pembelian dalam aplikasi.
- Nota semakan anda menyatakan di mana untuk mencari pembelian dan, jika anda menggunakan pengecualian, yang mana satu.
Semak app anda sebelum dihantar
Jika app anda baru ditolak di bawah 3.1.1, Apple Review Kit membantu anda mencari peraturan yang disebut, apa yang dimintanya, serta contoh pembetulan dan balasan. Nota untuk penguji di dalamnya meliputi pembelian dalam aplikasi. Untuk pandangan manusia, tempah satu jam dengan saya: kita baca mesej Apple dan cari pintu masuk yang Apple nampak. Langkah lengkap ada di halaman aplikasi ditolak oleh Apple, dan pemasangan pembelian di halaman langganan dalam aplikasi iOS.
Jika anda sedang menyediakan pelancaran pertama anda, buat diagnostik percuma anda: ia menyusun langkah mengikut urutan dan menghantar senarai semak anti-penolakan Apple saya kepada anda. Untuk mencipta aplikasi mudah alih yang menjual melalui pembelian dalam aplikasi sejak awal, iOS Kit bermula daripada kod yang paywall dan langganannya sudah tersedia.
Tiada sesiapa boleh menjamin Apple akan menerima app anda. Apa yang saya boleh buat ialah membantu anda memilih kaedah pembayaran yang betul sebelum menulis kod.
Soalan lazim
Apa maksud "Guideline 3.1.1 - Business - Payments - In-App Purchase"?
Itu tajuk penuh peraturan tentang pembelian dalam aplikasi dalam mesej Apple. Ia menandakan app anda memberi akses kepada kandungan atau fungsi digital melalui laluan selain pembelian dalam aplikasi: pembayaran di laman web, kod, kunci lesen atau pautan ke halaman pembayaran.
Bolehkah saya letak pautan ke laman web saya untuk bayar lebih murah?
Di storefront Amerika Syarikat, boleh: peraturan membenarkan butang dan pautan tanpa entitlement. Di Kesatuan Eropah, ia boleh dengan entitlement Apple dan syarat-syaratnya. Di tempat lain, kecuali ada program serantau, app dan halamannya tidak boleh mengarah ke kaedah pembayaran lain.
Bolehkah saya membuka app dengan kod promosi?
Bukan dengan kod sendiri: 3.1.1 melarang mekanisme pembukaan milik app sendiri, seperti kunci lesen. Gunakan kod tawaran Apple, yang dicipta dalam App Store Connect. Kod ini berfungsi untuk langganan dan jenis pembelian dalam aplikasi yang lain.
Perlukah pembelian dalam aplikasi untuk menjual produk fizikal atau perkhidmatan?
Tidak. Produk fizikal atau perkhidmatan yang digunakan di luar app, seperti makanan yang dihantar atau perjalanan, mesti menggunakan kaedah pembayaran lain, Apple Pay atau kad bank. Kelas secara langsung antara dua orang juga tidak memerlukannya, tetapi kelas secara langsung berkumpulan memerlukannya.
Bolehkah pelanggan yang melanggan di laman web saya log masuk dalam app?
Boleh untuk perkhidmatan merentas platform, dengan syarat akses yang sama juga dijual melalui pembelian dalam aplikasi dalam app. Itulah peraturan 3.1.3(b). Tanpa tawaran ini dalam app, anda kembali kepada penolakan 3.1.1 biasa: kandungan yang dibeli di tempat lain dan tidak boleh dibeli melalui Apple.
Adakah RevenueCat cukup untuk mematuhi 3.1.1?
RevenueCat bergantung pada pembelian dalam aplikasi Apple, jadi ia tidak menimbulkan masalah 3.1.1. Namun, ia tidak membuang butang pembayaran luaran atau kod sendiri yang ada dalam app anda. Pematuhan tetap perlu disemak skrin demi skrin, dan di halaman app anda.