# Guideline 3.1.2: abonelik yüzünden reddedilen uygulama

> Guideline 3.1.2: tahsil edilen tutar paywall'daki en belirgin fiyat olmalı; süre, yenileme ve koşul bağlantıları da şart. İki gerçek ret ve çözümleri.

Orijinal sayfa: [Guideline 3.1.2: abonelik yüzünden reddedilen uygulama](https://devoria.fr/tr/blog/guideline-3-1-2-abonelik-uygulama-reddedildi)
Yazar: [Mehdi Azizi](https://devoria.fr/tr/mehdi-azizi)
Yayın: 2026-10-17
İçeriğin son gözden geçirilmesi: 2026-10-17


Guideline 3.1.2, otomatik yenilenen abonelikleri düzenler. Apple bu kuralı gösteriyorsa iki şeyi kontrol et: **gerçekte tahsil edilen tutar, paywall'ındaki en belirgin fiyat olmalı**, ayrıca hem uygulama hem de mağaza sayfası süreyi, fiyatı ve kullanım koşullarına ve gizlilik politikana giden çalışan bağlantıları vermeli.

Bu reddi Ekim 2026'da iki uygulamamda aldım: 10'unda Solys, 12'sinde TradaZen. Sorun aynı gösterimdi: büyük puntoyla haftalık fiyat, küçük puntoyla gerçekte tahsil edilen tutar. Aşağıda kuralın metni, bu iki vaka ve artık uyguladığım kontrol listesi var. Diğer ret sebepleri için [Apple bir uygulamayı neden reddeder](https://devoria.fr/tr/blog/apple-uygulama-reddi-neden-reddedilir) yazısını oku.

## Guideline 3.1.2 ne diyor?

3.1.2 "Subscriptions", [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#3.1.2) içinde 3. bölüm "Business", 3.1 "Payments" kısmında yer alıyor. E-postanın başlığı da buradan geliyor: "Guideline 3.1.2 - Business - Payments - Subscriptions". Üç alt maddesi var ve **parantez içindeki harf sana nereye bakman gerektiğini söylüyor**.

| Alt madde                         | Apple'ın istediği                   | Tipik ret                               |
| --------------------------------- | ----------------------------------- | --------------------------------------- |
| 3.1.2(a) Permissible uses         | Süregelen değer, en az 7 gün        | Gelişen içeriği olmayan abonelik        |
| 3.1.2(b) Upgrades and Downgrades  | Çift ödeme olmadan plan değiştirmek | Aynı anda ödenen iki plan               |
| 3.1.2(c) Subscription Information | Ne alınıyor, hangi fiyata           | Hesaplanan fiyat tahsil edilenden büyük |

[3.1.2(c)](https://developer.apple.com/app-store/review/guidelines/#3.1.2c) metni kısa. Birinden abone olmasını istemeden önce "clearly describe what the user will get for the price" yapman gerekiyor: bu fiyata ne alacağını açıkça anlatmalısın. Ardından [geliştirici programı lisans sözleşmesinin](https://developer.apple.com/support/terms/apple-developer-program-license-agreement/#S2) 2. ekine (Schedule 2) gönderme yapıyor. Bu ek, "clearly and conspicuously", yani açık ve göze çarpar şekilde göstermen gerekenleri sıralıyor:

- aboneliğin adı;
- süresi;
- fiyatı ve uygunsa birim fiyatı;
- uygulama içinden erişilebilen, gizlilik politikana ve kullanım koşullarına giden bağlantılar.

Fiyatların boyutuyla ilgili kural, [Apple'ın aboneliklere ayrılmış sayfasında](https://developer.apple.com/app-store/subscriptions/) bulunuyor. Satın alma akışında "the amount that will be billed must be the most prominent pricing element in the layout": tahsil edilecek tutar en belirgin fiyat öğesi olmalı. Aylık karşılık ya da tasarruf göstermek serbest, yeter ki ikincil konumda ve daha küçük olsun. Aynı sayfa, ücretsiz deneme için süresinin ve sonunda tahsil edilecek fiyatın belirtilmesini istiyor.

## Aldığım iki 3.1.2(c) reddi

### Solys: büyük puntoyla 0,38 €, küçük puntoyla 19,99 €

Solys, sosyal medyanı uyutan çalar saatim. Onboarding paywall'ında "Yıllık" kartı 21 punto ve kalın olarak "0,38 €/hf." gösteriyordu. Altında, 15 puntoyla: "yani 19,99 €/yıl". Oysa tahsil edilen 19,99 €, 0,38 € değil.

10 Ekim 2026'da Apple sürümü 3.1.2(c)'yi gerekçe göstererek reddetti. Mesaj, tahsil edilen tutarın en net ve en belirgin fiyat öğesi olmasını istiyordu. Ücretsiz deneme, lansman fiyatı ve hesaplanan fiyatlar ona tabi kalmalı. Apple ölçütlerini de sayıyor: yazı tipi, boyut, renk ve konum.

Bu gösterimi bilerek tutmuştum: aynı mantıkla yapılmış TradaZen'in önceki bir sürümü kabul edilmişti. Bu bir kumardı ve bana bir inceleme döngüsüne mal oldu.

**Çözüm**: büyük puntoyla "19,99 €/yıl", altında gri açıklama olarak "yani 0,38 €/hf.", uygulamanın 30 dilinin hepsinde. Paywall kodun içinde olduğu için sürümü yeniden göndermeden önce yeni bir build gerekti.

![Bir terazi, Solys paywall'ındaki iki fiyatı kurşun bloklara dökülmüş halde tartıyor. Önce, 21 puntoluk "0,38 €/hf." 15 puntoluk "yani 19,99 €/yıl" karşısında ağır basıyor ve ibre reddedildi gösteriyor; sonra 21 puntoluk "19,99 €/yıl" ağır basıyor ve ibre uygun gösteriyor.](https://devoria.fr/ios/figures/balance-3-1-2c.svg)

### TradaZen: aynı sebep, iki gün sonra

TradaZen benim trading simülatörüm. 12 Ekim 2026'da 1.5.1 sürümü aynı kural yüzünden reddedildi. Mesaj, "more clearly and conspicuously than the billed amount" gösterilen "weekly calculated" bir fiyattan bahsediyordu: haftalık karşılık, tahsil edilen tutardan daha görünürdü.

İlk düzeltmem yetmedi ve bunu göndermeden önce fark ettim. "0,92 €/hf" yazısını küçültmüş ama sağda, fiyat satırında bırakmıştım. Oysa haftalık abonelik kartı aynı sütunda kendi gerçek fiyatını gösteriyordu: "8,99 €/hf". İki tutar aynı seviyede okunuyordu. **Gerçek fiyatlar sütununa konan hesaplanmış bir fiyat, küçük bile olsa tahsil edilen fiyat gibi okunur.**

**Benimsediğim çözüm**: her kart tahsil edilen tutarını sağda, büyük puntoyla gösteriyor. Haftalık fiyat altına gri açıklama olarak geçiyor. Solda yalnızca planın adı var. Bir sonraki incelemede Apple 3.1.2(c)'yi artık gündeme getirmedi.

Bu uygulamadan çıkardığım diğer dersler [TradaZen vaka çalışmasında](https://devoria.fr/tr/blog/tradazen-vaka-calismasi-iphone-uygulamasi-yayinlamak).

## Apple neyi reddetti, ne geçti

İşte gerçek gösterimler, sırasıyla ve sonuçlarıyla.

| Fiyat gösterimi                                              | Sonuç                                    |
| ------------------------------------------------------------ | ---------------------------------------- |
| TradaZen, önceki sürüm: haftalık fiyat önde                  | Önceki bir incelemede kabul edildi       |
| Solys: kalın "0,38 €/hf.", altında "19,99 €/yıl"             | 10/10/2026'da reddedildi, 3.1.2(c)       |
| TradaZen 1.5.1: haftalık fiyat tahsil edilenden daha görünür | 12/10/2026'da reddedildi, 3.1.2(c)       |
| TradaZen: haftalık fiyat küçültülmüş ama fiyat sütununda     | Göndermeden önce ben eledim              |
| TradaZen: tahsil edilen sağda büyük, haftalık açıklamada     | Sonraki incelemede artık gösterilmedi    |
| Solys: büyük "19,99 €/yıl", haftalık gri açıklamada          | Düzeltildi ve Apple'a yeniden gönderildi |

En önemli satır ilki. **Kabul edilmiş bir inceleme, paywall'ını bir sonrakine karşı onaylamaz.** Her sürüm yeniden bir inceleyicinin önüne çıkar ve bu kişi kuralı öncekinden daha katı yorumlayabilir. Tek güvenli gösterim, metne uyan gösterimdir.

> Büyük puntolu tek fiyat, tahsil edilen tutardır. Haftalık, aylık ya da günlük her karşılık daha küçük ve daha soluk bir açıklamadır, asla onun yerinde durmaz.

## 3.1.2 uyumlu paywall kontrol listesi

Artık her göndermeden önce uygulamalarımın her paywall'ında üzerinden geçtiğim liste bu:

- Her kartta tahsil edilen tutar en büyük, en kontrastlı ve en iyi konumlanmış fiyat.
- Hesaplanan her fiyat (haftalık, aylık, günlük) açıklama halinde, daha küçük ve daha soluk, tahsil edilen tutarın altında.
- Hiçbir hesaplanmış fiyat, başka bir planın gerçek fiyatını gösterdiği sütunda yer almıyor.
- Süre açıkça yazılı: "yıllık", "haftalık".
- Ücretsiz deneme süresini ve deneme sonunda tahsil edilecek tutarı söylüyor.
- Bir cümle, aboneliğin otomatik yenilendiğini ve Apple hesabı ayarlarından iptal edildiğini belirtiyor.
- Aboneliğin neyi açtığı, satın alma düğmesinden önce yazılı.
- Paywall'da "Satın Alımları Geri Yükle" düğmesi görünür.
- Kullanım koşulları ve gizlilik politikası bağlantıları paywall'da ve açılıyor.
- Birden fazla plan sunuyorsan, Apple'ın önerdiği gibi tek bir abonelik grubunda.
- Görünüm en küçük iPhone'da ve en uzun fiyatla kontrol edildi. TradaZen'de fiyatı Vietnam dongu ile test ediyorum: alt satıra kayan bir tutar hiyerarşiyi bozar.

RevenueCat paywall'larını kullanıyorsan, [RevenueCat belgeleri](https://www.revenuecat.com/docs/tools/paywalls/creating-paywalls/app-review) aynı uyarıyı yapıyor: tahsil edilen tutar ve dönemi başka bir yerde görünmüyorsa tek başına aylık fiyat değişkeni yetmez. Tüm kurulum [RevenueCat: uygulama içi abonelik kurmak](https://devoria.fr/tr/blog/revenuecat-ios-uygulama-ici-abonelik-kurulumu) yazısında, tasarım hataları da [iOS paywall: 7 acemi hatası](https://devoria.fr/tr/blog/ios-paywall-hatalari-satis) yazısında.

## Koşullar ve gizlilik bağlantıları: uygulamada ve mağaza sayfasında

3.1.2 reddinin diğer biçimi paywall'ı değil, meta verileri hedefler. Geliştiricilerin [Apple forumlarında](https://developer.apple.com/forums/thread/807082) paylaştığı mesajlar beklenen yeri netleştiriyor: gizlilik politikası bağlantısı App Store Connect'teki ilgili alanda, kullanım koşulları (EULA) bağlantısı ise açıklamada ya da EULA alanında.

Tuzak standart sözleşmeden geliyor. [App Store Connect yardımına](https://developer.apple.com/help/app-store-connect/manage-app-information/provide-a-custom-license-agreement) göre özel bir sözleşme eklemezsen Apple'ın standart sözleşmesi geçerli olur ve "the license agreement link isn't shown on your App Store product page": mağaza sayfanda hiçbir bağlantı görünmez. **Standart sözleşmeyi kullanıyorsan, bağlantısını açıklamaya koymak sana düşer**; kendi koşullar sayfana ya da [Apple'ın standart lisans sözleşmesine](https://www.apple.com/legal/internet-services/itunes/dev/stdeula/) yönlendirebilirsin.

Abonelikli uygulamalarımda açıklamayı, mağaza sayfasının her dilinde iki satırla bitiriyorum. İşte şablon, teklifine ve alan adına göre uyarla:

```text
7 gün ücretsiz deneme, ardından yıllık veya haftalık abonelik,
istediğin zaman iptal edilebilir.
Koşullar: https://your-domain.com/terms
Gizlilik: https://your-domain.com/privacy
```

Yapıştırmadan önce iki bağlantıyı da aç: bulunamayan bir sayfa, olmayan bir bağlantıyla aynıdır. Politikanın içermesi gerekenler [bir uygulamanın gizlilik politikası](https://devoria.fr/tr/blog/uygulama-gizlilik-politikasi-ios-rehberi) yazısında, mağaza sayfasının geri kalanı da [ASO App Store](https://devoria.fr/tr/expertise/app-store-aso) sayfasında anlatılıyor.

**Bu nokta yeni build olmadan düzelir**: açıklama ve App Store Connect alanları meta veridir.

## 3.1.2(a): bir abonelik süregelen değer sunmalı

Ret getiren diğer alt madde ekranı değil, modeli hedefler. [3.1.2(a)](https://developer.apple.com/app-store/review/guidelines/#3.1.2a) "ongoing value" ister: zaman içinde devam eden bir değer. Dönem en az yedi gün sürer ve abonelik kullanıcının tüm cihazlarında çalışır. Abone, sosyal medyada paylaşım yapmak gibi ek bir görev olmadan ödediği şeyi alır.

Uygulaman bir hizmeti tek seferlik sunuyorsa, tek seferlik satın alma belki daha uygun olur. İki model [abonelik mi tek seferlik satın alma mı](https://devoria.fr/tr/blog/ios-uygulama-abonelik-mi-tek-seferlik-satin-alma-mi) yazısında karşılaştırılıyor.

## 3.1.2 reddinden sonra Apple'a ne yanıt verilir

Yazışma, uygulamanın App Review bölümünde yürür. [App Review'a yanıt verme](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/) prosedürü diğer kurallarla aynı. İki durum var:

- **Sorun uygulamadaysa** (fiyat boyutları, paywall bilgileri): Solys ve TradaZen'deki gibi yeni bir build gerekir. İnceleyici gömülü kodu test eder, bunu [guideline 2.1](https://devoria.fr/tr/blog/guideline-2-1-app-store-ret-duzeltme) rehberinde açıklıyorum.
- **Sorun mağaza sayfasındaysa** (eksik ya da ölü bağlantılar): meta verileri düzeltirsin, yanıt verirsin ve aynı gönderim yeniden yola çıkar.

İngilizce ve sade yaz: sorun neydi, ne değişti, nasıl doğrulanır. Kullandığım şablon şu (build numarasını, fiyatları ve akışı kendininkilerle değiştir):

```text
Hello,

Thank you for your review.

Issue: on the paywall, the weekly equivalent price was displayed
more prominently than the billed amount.

Fix in build X:
- Each plan now shows its billed amount (e.g. "€19.99/year")
  as the largest price on the card.
- The weekly equivalent is a smaller grey caption below it.
- The paywall states the duration, the auto-renewal, and links
  to our Terms of Use and Privacy Policy.

How to verify: launch the app and complete the onboarding.
The paywall appears at the end.

Best regards,
```

## Bir sonraki gönderimden önce paywall'ını düzelt

Uygulaman 3.1.2 yüzünden yeni reddedildiyse, [Apple Review Kit](https://devoria.fr/tr/kits/review-apple) gösterilen kuralı, ne istediğini ve örnek bir düzeltme ile yanıtı bulmana yardım eder. Claude Code skill'leri de göndermeden önce paywall'ını ve mağaza sayfanı gözden geçirir. İnsan gözü istersen [benimle bir saatlik görüşme ayarla](https://devoria.fr/tr/coaching): Apple'ın mesajını okur, paywall'ını senin ekranında birlikte elden geçiririz. Tüm süreç [Apple tarafından reddedilen uygulama](https://devoria.fr/tr/expertise/apple-tarafindan-reddedilen-uygulama) sayfasında, aboneliğin kurulumu da [iOS uygulama içi abonelik](https://devoria.fr/tr/expertise/ios-uygulama-ici-abonelik) sayfasında.

İlk yayınına hazırlanıyorsan, [ücretsiz teşhisini yap](https://devoria.fr/tr/diagnostic): adımları sıraya koyar ve sana Apple reddine karşı kontrol listemi gönderir. Yayınlandığı andan itibaren para kazanan bir [mobil uygulama oluşturmak](https://devoria.fr/tr) için [iOS Kit](https://devoria.fr/tr/kits/ios), üçüncü adımı olan "parayı bağlamak"ı aboneliğe ve paywall'a ayırıyor.

Hiç kimse Apple'ın uygulamanı kabul edeceğini garanti edemez. Benim yapabileceğim, iki kez bedelini ödediğim 3.1.2(c) reddinden seni korumak.

## Sık sorulan sorular

### "Guideline 3.1.2 - Business - Payments - Subscriptions" ne demek?

Aboneliklerle ilgili kuralın tam adı bu. Hiyerarşisi bozuk bir fiyata, paywall'da eksik bir bilgiye, mağaza sayfasında eksik bir bağlantıya ya da süregelen değeri olmayan bir aboneliğe işaret eder. Parantez içindeki harf, örneğin 3.1.2(c), hedeflenen alt maddeyi gösterir.

### Haftalık ya da aylık fiyat göstermek hâlâ mümkün mü?

Evet. Apple haftalık ya da aylık karşılığa veya tasarrufa izin veriyor, yeter ki gerçekte tahsil edilen tutardan daha küçük ve daha az görünür kalsınlar. Benim uygulamalarımda karşılık, tahsil edilen fiyatın altında gri bir açıklama; asla gerçek fiyatlar sütununda değil.

### 3.1.2 reddinden sonra yeni build gerekir mi?

Sorun paywall'daysa evet, çünkü inceleyici gömülü kodu test eder. Açıklamada eksik bir bağlantı gibi mağaza sayfasındaysa hayır: meta verileri düzeltirsin ve aynı gönderim yeniden yola çıkar.

### Kullanım koşulları (EULA) bağlantısını nereye koymalı?

Uygulamada, paywall'a. Mağaza sayfası tarafında, açıklamaya ya da özel bir sözleşmen varsa App Store Connect'teki EULA alanına. Apple'ın standart sözleşmesiyle mağaza sayfanda hiçbir bağlantı görünmez: onu her dilde açıklamaya kendin ekle.

### Paywall'ım daha önce kabul edilmişti, neden şimdi reddediliyor?

Çünkü her sürüm yeniden incelemeden geçer, bazen başka bir inceleyicinin önünde. Önde duran haftalık fiyat TradaZen'de kabul edilmişti, sonra Ekim 2026'da Solys'te ve TradaZen'de reddedildi. Seni yalnızca kuralın metni korur.


## Projen

[Apple Review Kit](https://devoria.fr/tr/kits/review-apple): Kullandığım App Store inceleme kontrol listesi, düzelttiğim Apple retleri, inceleyici notları ve uygulamanı inceleyen iki Claude Code skill'i. 29 €.

[iOS Kit](https://devoria.fr/tr/kits/ios): Claude Code ile iPhone uygulamanı yap: uygulamalarımın başlangıç kodu, işini kontrol eden skill'ler, Apple Review, Screenshots ve ASO kitleri. 129,99 €.
