Guideline 3.1.1: uygulama içi satın alma ne zaman zorunlu?
Yazan: Mehdi Azizi
tarihinde yayınlandı, 9 dk.
Guideline 3.1.1: uygulamada açılan her dijital içerik veya özellik Apple'ın uygulama içi satın almasından geçer. İstisnalar, AB ve ABD kuralları, çözümler.
Guideline 3.1.1, uygulaman dijital bir içerik ya da özellik açtığı anda Apple'ın uygulama içi satın almasını (In-App Purchase) zorunlu kılar: abonelik, tam sürüm, oyun parası, premium içerik. 3.1.1 reddi, Apple'ın bu içeriğe giden başka bir kapı bulduğu anlamına gelir: sitende ödeme, lisans anahtarı, kendi kodun, bir ödeme sayfasına giden buton. Çözüm uygulama içi satın almadan geçer. Durumun bir istisnaya ya da bölgesel bir kurala giriyorsa iş değişir.
Kendi iOS uygulamalarımı yayınlıyorum ve aboneliği olanlar bunu Apple'ın uygulama içi satın almasıyla satıyor. Hiç 3.1.1 reddi almadım, sana aksini anlatmayacağım. Bu rehber, 8 Haziran 2026 tarihli ve 15 Ekim 2026'da okuduğum resmi metne ve Apple'ın yayınladığı bölgesel koşullara dayanıyor. Komşu konu olan abonelikler, iki gerçek retle birlikte, guideline 3.1.2 rehberinde.
Guideline 3.1.1 ne diyor?
3.1.1, "In-App Purchase", App Review Guidelines içindeki 3.1 "Payments" bölümünü açar. E-postadaki başlık da buradan gelir: "Guideline 3.1.1 - Business - Payments - In-App Purchase". İlk cümlesi özü söyler: uygulamanda özellik açmak için "you must use in-app purchase", yani uygulama içi satın almayı kullanmak zorundasın. Apple abonelikleri, oyun paralarını, seviyeleri, premium içeriği ve tam sürümü sayar.
Sonraki cümle dolanma yollarını hedefler. Bir uygulama içerik açmak için kendi mekanizmasını kullanamaz: Apple lisans anahtarlarını, artırılmış gerçeklik işaretçilerini, QR kodları, kripto paraları ve kripto cüzdanları sayar.
Aynı kural sık unutulan yükümlülükler de ekler:
- uygulama içi satın almayla alınan krediler ve paralar süresi dolmaz, geri yüklenebilir her satın almanın bir geri yükleme mekanizması vardır;
- ücretli bir sandık ya da çekiliş ("loot box"), satın almadan önce her eşya türünü alma olasılığını gösterir;
- dijital bir hediye kartı, kupon ya da çek uygulamada uygulama içi satın almayla satılır; postayla gönderilen fiziksel bir kart başka bir yolla satılabilir;
- aboneliği olmayan bir uygulama, "XX-day Trial" adlı ücretsiz bir uygulama içi satın alma şeklinde süreli bir deneme sunabilir; deneme başlamadan önce süresini, neyin kaybedileceğini ve neyin ödeneceğini söyler;
- geliştiriciye bahşiş mümkündür, uygulama içi satın almayla.
3.1.1 reddini tetikleyen durumlar
| Uygulamanın yaptığı | Apple neden reddeder | Çözüm |
|---|---|---|
| Sitende satın alınan içeriği açıyor | Eşdeğer uygulama içi satın alma yok | Uygulama içi satın almayla da sat |
| "Sitemizden öde" gösteriyor | Başka bir ödemeye yönlendirme | Butonu kaldır, istisna yoksa |
| Lisans anahtarı ya da kendi kodunu istiyor | Yasak açma mekanizması | Apple'ın teklif kodları |
| Kripto para karşılığında açıyor | Yasak açma mekanizması | Uygulama içi satın alma |
| Süresi dolan krediler satıyor | 3.1.1 yükümlülüğü | Kalıcı krediler ve geri yükleme |
| Olasılıksız sandık satıyor | Şanslar gösterilmiyor | Satın almadan önce görünür olasılıklar |
İlk satır en çok yanlış anlaşılanı. Apple forumlarında paylaşılan bir retteki mesaj, uygulamanın "accesses digital content purchased outside the app", yani başka yerde alınmış içeriğe eriştiğini, "but that content isn't available to purchase using in-app purchase" diyor. Apple satış yapan bir sitenin olmasına itiraz etmiyor: uygulamanın aynı satın almayı Apple üzerinden sunmamasına itiraz ediyor.
Ücretsiz erişim ya da indirim sunmak için Apple'ın kendi sistemi var: teklif kodları (offer codes). StoreKit belgelerine göre tüm uygulama içi satın alma türlerinde çalışırlar: abonelikler, tüketilebilirler ve tüketilemezler. Onları App Store Connect'te oluşturursun, kullanıcı App Store'da ya da uygulamanda girer.
İstisnalar: uygulama içi satın alma ne zaman gerekmez
Kural 3.1.3, başka bir ödeme yolu kullanabilecek uygulamaları listeler. Bir projenin nereye düştüğünü anlamak için kullandığım tablo şu.
| Durumun | Uygulama içi satın alma gerekli mi? | Kural |
|---|---|---|
| Abonelik, tam sürüm, dijital içerik | Evet | 3.1.1 |
| Fiziksel ürün, uygulama dışında tüketilen hizmet | Hayır, başka bir yol zorunlu | 3.1.3(e) |
| Birebir canlı ders ya da danışmanlık | Hayır | 3.1.3(d) |
| Çok kişilik canlı ders | Evet | 3.1.3(d) |
| Başka yerde alınan basın, kitap, müzik, video | Erişmek için hayır | 3.1.3(a) |
| Sitende satılan çok platformlu hizmet | Uygulama içi satın almada da varsa erişim serbest | 3.1.3(b) |
| Bir şirkete çalışanları için satılan araç | Hayır | 3.1.3(c) |
| Bir web aracının ücretsiz eşlikçi uygulaması, satışsız | Hayır | 3.1.3(f) |
İki sınır var. Bir istisnadan yararlanan uygulama, ABD vitrini ve Apple'ın öngördüğü durumlar dışında, uygulama içinde başka bir ödeme yoluna yönlendiremez. Öte yandan Apple "Developers can send communications outside of the app" diyor: kullanıcılarına uygulama dışında, örneğin e-postayla yazabilirsin.
Ekim 2026 itibarıyla bölgelere göre kurallar
Burada metinler hızlı değişiyor. Aşağıdakiler Apple'ın 15 Ekim 2026'da okuduğum metinlerine dayanıyor: harici bir ödemeyi kodlamadan önce onları yeniden oku.
| Bölge | Uygulama içi satın almaya ek olarak izin verilen |
|---|---|
| ABD | Entitlement olmadan başka bir ödemeye buton ve bağlantı |
| Avrupa Birliği | Uygulama içinde alternatif ödeme ve uygulama dışı teklifler, kurallı |
| Japonya, Brezilya, Güney Kore | Kendi programları, entitlement başvurusuyla |
| Diğer ülkeler | Başka bir ödemeye hiçbir buton, bağlantı ya da çağrı yok |
ABD
Kural 3.1.1(a), entitlement'ların "are not required for developers to include buttons, external links, or other calls to action in their United States storefront apps" olduğunu belirtiyor. Yani ABD vitrininde sitene giden bir buton serbest. Binary'n her yerde aynı: bu butonu eklersen, uygulama kullanıcının hangi vitrinde olduğunu bilmeli. StoreKit bunu Storefront ile verir.
Avrupa Birliği
Apple'ın AB'deki ödeme seçenekleri sayfasına göre 1 Ekim 2026'dan beri yeni koşullar geçerli. Hiçbir şeyi değiştirmeden yalnızca uygulama içi satın almada kalabilirsin. Uygulama içinde bir ödeme sağlayıcısı ya da uygulama dışı teklifler, örneğin sitene yönlendirme, de sunabilirsin. Apple o zaman özellikle şunları şart koşuyor:
- "StoreKit External Purchases or Offers" entitlement'ı ve uygulamadaki bir bağlantı ya da ödeme için sistemin bilgilendirme penceresi;
- ikisi de ekrandaysa, uygulama içi satın almanın diğer seçenek kadar görünür olması;
- App Store sayfanda bu ödemelerden hiç bahsedilmemesi;
- reşit olmayanlar için ebeveyn denetimi ve 13 yaşından önce, ülkeye göre daha geç, hiçbir uygulama dışı teklif olmaması;
- 12 ay boyunca tüm AB vitrinlerinde aynı seçim.
Seçilen seçeneğe göre komisyonlar uygulanıyor. Karar vermeden önce aynı sayfadaki ilgili bölümü oku.
Diğer ülkeler
Başka yerlerde kural katı kalıyor: "apps and their metadata may not include buttons, external links, or other calls to action" başka bir ödeme yoluna. "Metadata" kelimesi önemli: "sitemizde daha ucuz" diyen bir açıklama da kurala takılır. Japonya, Brezilya ve Güney Kore gibi bazı ülkelerin, External Purchase belgelerinde listelenen kendi programları var.
3.1.1 reddini düzeltmek ve Apple'a yanıt vermek
- Giriş kapısını bul. Mesaj sorunlu içeriği ya da ekranı belirtir: başka yerde alınmış içerik, buton, kod, bağlantı.
- Kapat ya da eşini ekle. Ya butonu veya kodu kaldırırsın ya da aynı içeriği uygulama içi satın almayla satarsın.
- Bir istisnaya yalnızca gerçekse dayan. 3.1.3'ün ilgili bendini belirt ve durumunun neden ona girdiğini iki cümlede açıkla.
- İnceleyiciye test edecek bir şey ver. İnceleme notlarında bir demo hesabı ve paywall'a giden yol, guideline 2.1 rehberinde anlattığım gibi.
App Store Connect'in App Review bölümünden, App Review'a yanıt verme prosedürüne göre yanıt verirsin. En yaygın durum, yani sitede satın alınan içerik için bir şablon aşağıda. Bu bir örnek: build'i, ürünü ve akışı kendininkilerle değiştir.
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,
Buton ve paywall kodun içinde: yeni bir build gerekir. Durumunun bir istisna olduğuna hâlâ inanıyorsan Apple, App Review Board'a itiraz etmene de izin veriyor.
Her şeyi yeniden yazmadan uygulama içi satın almayı bağlamak
Yeni başlayan biri için en basit yol, ürünleri App Store Connect'te oluşturup RevenueCat ile uygulamaya bağlamak: tarifi RevenueCat: uygulama içi abonelik kurmak yazısında. İki model arasında kararsızsan abonelik mi tek seferlik satın alma mı yazısını oku. Kodsuz bir araçla geliştiriyorsan, uygulama içi satın almayı destekleyip desteklemediğini kontrol et: bu, kod yazmadan uygulama yapmak yazısındaki konulardan biri.
Uygulama içi satın alman bir abonelik olduğu anda 3.1.2 de devreye girer: öne çıkan faturalanan tutar, süre, yenileme, bağlantılar. En sık ekran hataları iOS paywall: yeni başlayanların 7 hatası yazısında.
Gönderimden önce 3.1.1 kontrol listesi
- Uygulamada açılan her şey (özellik, içerik, seviye, para) uygulama içi satın almayla alınıyor.
- Hiçbir buton, bağlantı ya da metin harici bir ödemeye yönlendirmiyor; ABD vitrini ya da alınmış bir bölgesel program hariç.
- Sayfandaki açıklama başka hiçbir ödeme yolundan bahsetmiyor.
- Sitende satılan bir içerik, uygulamada uygulama içi satın almayla da satılıyor.
- Hiçbir lisans anahtarı, QR kod, kendi kodun ya da kripto hiçbir şeyi açmıyor.
- Erişim sunmak için Apple'ın teklif kodlarını kullanıyorsun.
- Satın alınan kredilerin süresi dolmuyor ve bir "Restore Purchases" butonu çalışıyor.
- Her ücretli sandık ya da çekiliş, satın almadan önce olasılıklarını gösteriyor.
- Fiziksel bir ürün ya da uygulama dışı bir hizmet, uygulama içi satın almayla değil Apple Pay ya da kartla ödeniyor.
- İnceleme notların satın almaların nerede olduğunu ve bir istisnaya dayanıyorsan hangisi olduğunu söylüyor.
Göndermeden önce uygulamanı kontrol et
Uygulaman az önce 3.1.1'den reddedildiyse, Apple Review Kit belirtilen kuralı, ne istediğini ve bir düzeltme ile yanıt örneğini bulmana yardım eder. Test eden kişi için notları uygulama içi satın almayı da kapsar. Bir insan gözü istersen benimle bir saatlik görüşme ayırt: Apple'ın mesajını birlikte okur, gördüğü giriş kapısını ararız. Tüm süreç Apple tarafından reddedilen uygulama sayfasında, satın almanın kurulumu da iOS uygulama içi abonelik sayfasında.
İlk yayınına hazırlanıyorsan ücretsiz teşhisini yap: adımları sıraya koyar ve sana Apple reddine karşı kontrol listemi gönderir. Baştan uygulama içi satın almayla satış yapan bir mobil uygulama oluşturmak için iOS Kit, paywall'ın ve aboneliklerin hazır olduğu bir koddan başlar.
Kimse Apple'ın uygulamanı kabul edeceğini garanti edemez. Benim yapabileceğim, kodu yazmadan önce doğru ödeme yolunu seçmene yardım etmek.
Sık sorulan sorular
"Guideline 3.1.1 - Business - Payments - In-App Purchase" ne demek?
Apple'ın mesajındaki, uygulama içi satın alma kuralının tam başlığı. Uygulamanın dijital bir içeriğe ya da özelliğe uygulama içi satın alma dışında bir yoldan erişim verdiğini gösterir: bir sitede ödeme, kod, lisans anahtarı ya da bir ödeme sayfasına bağlantı.
Daha ucuza ödemek için siteme bağlantı koyabilir miyim?
ABD vitrininde evet: kural entitlement olmadan buton ve bağlantıya izin veriyor. Avrupa Birliği'nde Apple'ın entitlement'ı ve koşullarıyla mümkün. Başka yerlerde, bölgesel bir program yoksa, ne uygulama ne de sayfası başka bir ödeme yoluna yönlendirebilir.
Uygulamamı bir promosyon koduyla açabilir miyim?
Kendi kodunla olmaz: 3.1.1, lisans anahtarları gibi uygulamaya özgü açma mekanizmalarını yasaklıyor. App Store Connect'te oluşturulan Apple teklif kodlarını kullan. Abonelikler ve diğer uygulama içi satın alma türleri için çalışırlar.
Fiziksel bir ürün ya da hizmet satmak için uygulama içi satın alma gerekir mi?
Hayır. Fiziksel bir ürün ya da eve gelen yemek veya bir yolculuk gibi uygulama dışında tüketilen bir hizmet, başka bir ödeme yolundan, Apple Pay ya da banka kartıyla geçmelidir. İki kişi arasındaki canlı bir ders de ondan muaf olabilir, ama çok kişilik canlı bir ders olamaz.
Sitemde abone olan bir müşteri uygulamada oturum açabilir mi?
Çok platformlu bir hizmet için evet, aynı erişim uygulamada uygulama içi satın almayla da satılıyorsa. Bu kural 3.1.3(b). Uygulamada bu teklif yoksa tipik 3.1.1 reddine düşersin: başka yerde alınmış ve Apple üzerinden alınamayan bir içerik.
3.1.1'e uymak için RevenueCat yeterli mi?
RevenueCat Apple'ın uygulama içi satın almasına dayanır, yani 3.1.1 sorunu yaratmaz. Ama uygulamanda olabilecek harici bir ödeme butonunu ya da kendi kodunu da kaldırmaz. Uyumluluğu ekran ekran ve sayfanda kontrol etmen gerekir.