# Guideline 3.1.1：何時必須用 App 內購買

> App 內解鎖的數位內容或功能，都必須透過 Apple 的 App 內購買。本文整理例外、歐盟與美國規則及修正方式。

原始頁面：[Guideline 3.1.1：何時必須用 App 內購買](https://devoria.fr/zh-hant/blog/guideline-3-1-1-in-app-purchase-required)
作者：[Mehdi Azizi](https://devoria.fr/zh-hant/mehdi-azizi)
發布日期：2026-10-25
內容最後修訂：2026-10-25


只要你的 app 解鎖數位內容或功能，guideline 3.1.1 就要求使用 Apple 的 App 內購買：訂閱、完整版、遊戲貨幣、付費內容都一樣。**被 3.1.1 退件，代表 Apple 發現了通往這些內容的另一個入口**：在你網站上付款、授權金鑰、自製代碼、連到付款頁的按鈕。修正方法就是改用 App 內購買，除非你的情況屬於例外或區域規則。

我自己上架 iOS app，有訂閱的那幾個都是透過 Apple 的 App 內購買販售。我從來沒被 3.1.1 退件過，這點我不會騙你。這篇指南根據官方條文（2026 年 6 月 8 日版本，我在 2026 年 10 月 15 日閱讀）以及 Apple 公布的區域條件。相近的訂閱情況，加上兩次真實的退件，請看 [guideline 3.1.2](https://devoria.fr/zh-hant/blog/guideline-3-1-2-app-subscription-rejected) 的指南。

## Guideline 3.1.1 寫了什麼？

3.1.1「In-App Purchase」是 [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#3.1.1) 中 3.1「Payments」的第一條。所以退件信的標題才會是「Guideline 3.1.1 - Business - Payments - In-App Purchase」。第一句就講了重點：要在 app 內解鎖功能，「you must use in-app purchase」，你必須使用 App 內購買。Apple 列出的有訂閱、遊戲貨幣、關卡、付費內容和完整版。

下一句針對的是繞道做法。**App 不能用自己的機制來解鎖內容**：Apple 點名了授權金鑰、擴增實境標記、QR code、加密貨幣和加密貨幣錢包。

同一條規則還有幾項常被忽略的義務：

- 透過 App 內購買買到的點數和貨幣不會過期，所有可回復的購買都要有回復機制；
- 付費寶箱或抽獎（「loot box」）要在購買前顯示取得各類物品的機率；
- 數位禮物卡、兌換券或優惠券要在 app 內透過 App 內購買販售；郵寄的實體卡片可以用其他方式；
- 沒有訂閱的 app 可以提供限時試用，形式是一個名為「XX-day Trial」的免費 App 內購買，開始前要告知試用長度、到期會失去什麼，以及之後要付多少錢；
- 可以讓使用者打賞開發者，但要透過 App 內購買。

## 會觸發 3.1.1 退件的情況

| App 的做法                 | Apple 退件原因        | 修正方式               |
| -------------------------- | --------------------- | ---------------------- |
| 解鎖在你網站上購買的內容   | 沒有對應的 App 內購買 | 同時用 App 內購買販售  |
| 顯示「到我們網站付款」     | 導向其他付款方式      | 移除按鈕，除非屬於例外 |
| 要求輸入授權金鑰或自製代碼 | 禁止的解鎖機制        | 使用 Apple 的優惠代碼  |
| 用加密貨幣解鎖             | 禁止的解鎖機制        | App 內購買             |
| 販售會過期的點數           | 3.1.1 的義務          | 點數永久有效並可回復   |
| 販售沒有標示機率的寶箱     | 未顯示機率            | 購買前顯示機率         |

第一列最常被誤解。在 [Apple 論壇](https://developer.apple.com/forums/thread/794034)公開的一則退件中，訊息寫著 app「accesses digital content purchased outside the app」，也就是存取了在別處購買的內容，「but that content isn't available to purchase using in-app purchase」。**Apple 不是怪你有網站在賣東西，而是怪 app 沒有透過 Apple 提供同樣的購買。**

如果要提供免費使用或折扣，Apple 有自己的系統：優惠代碼。根據 [StoreKit 文件](https://developer.apple.com/documentation/storekit/implementing-offer-codes-in-your-app)，它適用於所有類型的 App 內購買：訂閱、消耗型與非消耗型項目。你在 App Store Connect 建立代碼，使用者在 App Store 或你的 app 裡輸入。

## 例外：不需要 App 內購買的情況

[規則 3.1.3](https://developer.apple.com/app-store/review/guidelines/#3.1.3) 列出可以使用其他付款方式的 app。下面是我用來判斷專案屬於哪一類的對照表。

| 你的情況                               | 需要 App 內購買嗎？           | 規則     |
| -------------------------------------- | ----------------------------- | -------- |
| 訂閱、完整版、數位內容                 | 需要                          | 3.1.1    |
| 實體商品、在 app 外使用的服務          | 不需要，必須用其他方式        | 3.1.3(e) |
| 一對一的即時課程或諮詢                 | 不需要                        | 3.1.3(d) |
| 多人即時課程                           | 需要                          | 3.1.3(d) |
| 在別處購買的報刊、書籍、音樂、影片     | 存取時不需要                  | 3.1.3(a) |
| 在你網站購買的跨平台服務               | 可存取，前提是也有 App 內購買 | 3.1.3(b) |
| 賣給企業供員工使用的工具               | 不需要                        | 3.1.3(c) |
| 搭配網頁工具的免費 app，app 內沒有購買 | 不需要                        | 3.1.3(f) |

有兩個限制。適用例外的 app，除了美國店面和 Apple 規定的情況外，不能在 app 內引導使用者到其他付款方式。不過 Apple 也說明「Developers can send communications outside of the app」：你可以在 app 之外聯絡使用者，例如寄 email。

## 2026 年 10 月的各區域規則

這部分的條文變動很快。以下內容根據我在 2026 年 10 月 15 日讀到的 Apple 條文：**在寫外部付款的程式之前，請再讀一次**。

| 區域             | 除了 App 內購買，還允許什麼                  |
| ---------------- | -------------------------------------------- |
| 美國             | 導向其他付款的按鈕和連結，不需要 entitlement |
| 歐盟             | 有條件的 app 內替代付款及 app 外優惠         |
| 日本、巴西、南韓 | 各自的計畫，需申請 entitlement               |
| 其他國家         | 不得有導向其他付款的按鈕、連結或號召         |

### 美國

[規則 3.1.1(a)](https://developer.apple.com/app-store/review/guidelines/#3.1.1a) 說明 entitlement「are not required for developers to include buttons, external links, or other calls to action in their United States storefront apps」。所以在美國店面，可以放一個連到你網站的按鈕。但你的 binary 在每個地區都一樣：如果加了這個按鈕，app 必須知道使用者在哪個店面。StoreKit 透過 [Storefront](https://developer.apple.com/documentation/storekit/storefront) 提供這項資訊。

### 歐盟

根據 Apple 的[歐盟付款選項](https://developer.apple.com/support/payment-options-on-the-app-store-in-the-eu/)頁面，自 2026 年 10 月 1 日起適用新條件。你可以只保留 App 內購買，什麼都不改。也可以在 app 內提供付款服務商，或提供 app 外的優惠，例如導向你的網站。這時 Apple 的要求包括：

- 「StoreKit External Purchases or Offers」entitlement，若是 app 內連結或付款，還要顯示系統的資訊視窗；
- 兩種選項同時出現在畫面上時，App 內購買至少要一樣顯眼；
- App Store 頁面上不得提及這些付款方式；
- 對未成年人要有家長控制，13 歲以下（依國家可能更高）不得提供 app 外優惠；
- 在所有歐盟店面維持相同的選擇 12 個月。

依選擇的方案會收取不同的佣金。做決定前，先讀同一頁的佣金段落。

### 其他國家

其他地方的規則仍然嚴格：「apps and their metadata may not include buttons, external links, or other calls to action」導向其他付款方式。「metadata」這個字很關鍵：**寫著「在我們網站買更便宜」的描述也會違規**。部分國家（包括日本、巴西和南韓）有自己的計畫，列在 [External Purchase 文件](https://developer.apple.com/documentation/storekit/external-purchase)中。

## 修正 3.1.1 退件並回覆 Apple

1. **找出那個入口。** 訊息會指出有問題的內容或畫面：在別處購買的內容、按鈕、代碼、連結。
2. **關掉它，或補上 App 內購買。** 要嘛移除按鈕或代碼，要嘛用 App 內購買販售相同內容。
3. **只有真的符合時才主張例外。** 引用 3.1.3 的具體條款，用兩句話說明為什麼你的情況適用。
4. **讓審查人員有東西可以測試。** 在審查備註裡提供示範帳號和進入付費牆的路徑，就像我在 [guideline 2.1](https://devoria.fr/zh-hant/blog/app-store-guideline-2-1-rejection-fix) 的指南中說明的。

你要在 App Store Connect 的 App Review 區塊回覆，依照[回覆 App Review](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/) 的流程。以下是最常見情況（在網站購買的內容）的範本。這只是範例：請把 build、產品和操作路徑換成你自己的。

```text
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,
```

按鈕和付費牆都在程式碼裡：你需要一個新的 build。如果你仍然認為自己屬於例外，Apple 也可以讓你[向 App Review Board 申訴](https://developer.apple.com/distribute/app-review/)。

## 不用全部重寫就接上 App 內購買

對新手來說，最簡單的做法是在 App Store Connect 建立產品，再用 RevenueCat 連到 app：步驟在 [RevenueCat：設定 App 內訂閱](https://devoria.fr/zh-hant/blog/revenuecat-ios-in-app-subscription-setup)。如果你在兩種模式之間猶豫，請看[訂閱還是一次性購買](https://devoria.fr/zh-hant/blog/ios-app-subscription-vs-one-time-purchase)。如果你用無程式碼工具開發，先確認它支援 App 內購買：這是[不寫程式也能做 app](https://devoria.fr/zh-hant/blog/build-app-without-coding-no-code-ai) 裡的一個重點。

只要你的 App 內購買是訂閱，就還要加上 3.1.2：顯眼的收費金額、期間、續訂、連結。最常見的畫面錯誤整理在[iOS 付費牆：7 個新手錯誤](https://devoria.fr/zh-hant/blog/ios-paywall-beginner-mistakes)。

## 送審前的 3.1.1 檢查清單

- App 內所有可解鎖的東西（功能、內容、關卡、貨幣）都透過 App 內購買販售。
- 沒有任何按鈕、連結或文字導向外部付款，除非是美國店面或已取得的區域計畫。
- 你的頁面描述沒有提到任何其他付款方式。
- 在你網站上販售的內容，在 app 內也能用 App 內購買買到。
- 沒有任何授權金鑰、QR code、自製代碼或加密貨幣可以解鎖任何東西。
- 要提供免費使用，你用的是 Apple 的優惠代碼。
- 購買的點數不會過期，而且「Restore Purchases」按鈕可以正常運作。
- 每個付費寶箱或抽獎都在購買前顯示機率。
- 實體商品或 app 外的服務透過 Apple Pay 或信用卡付款，不走 App 內購買。
- 你的審查備註說明了購買項目在哪裡，如果主張例外，也寫明是哪一項。

## 送出前檢查你的 app

如果你的 app 剛被 3.1.1 退件，[Apple Review Kit](https://devoria.fr/zh-hant/kits/review-apple) 能幫你找到被引用的規則、它的要求，以及修正和回覆的範例。它給審查人員的備註也涵蓋 App 內購買。如果想要有人親自看，[跟我預約一小時](https://devoria.fr/zh-hant/coaching)：我們一起讀 Apple 的訊息，找出它看到的那個入口。完整流程在[被 Apple 退件的 app](https://devoria.fr/zh-hant/expertise/app-rejected-by-apple) 頁面，購買設定則在 [iOS App 內訂閱](https://devoria.fr/zh-hant/expertise/ios-in-app-subscription)頁面。

如果你正在準備第一次上架，[做免費診斷](https://devoria.fr/zh-hant/diagnostic)：它會幫你把步驟排好順序，並寄給你我的 Apple 防退件檢查清單。如果想[開發手機 app](https://devoria.fr/zh-hant) 並從一開始就透過 App 內購買販售，[iOS Kit](https://devoria.fr/zh-hant/kits/ios) 的程式碼已經內建付費牆和訂閱。

沒有人能保證 Apple 會接受你的 app。我能做的，是幫你在寫程式之前選對付款方式。

## 常見問題

### 「Guideline 3.1.1 - Business - Payments - In-App Purchase」是什麼意思？

這是 Apple 訊息中 App 內購買規則的完整標題。它表示你的 app 透過 App 內購買以外的途徑提供數位內容或功能：在網站付款、代碼、授權金鑰，或連到付款頁的連結。

### 可以放連結到自己網站，讓使用者付比較少嗎？

在美國店面可以：規則允許按鈕和連結，不需要 entitlement。在歐盟，取得 Apple 的 entitlement 並符合條件就可以。其他地方，除非有區域計畫，app 和它的頁面都不能導向其他付款方式。

### 可以用優惠碼解鎖 app 嗎？

自製代碼不行：3.1.1 禁止 app 自己的解鎖機制，例如授權金鑰。請使用在 App Store Connect 建立的 Apple 優惠代碼。它適用於訂閱，也適用於其他類型的 App 內購買。

### 販售實體商品或服務需要 App 內購買嗎？

不需要。實體商品或在 app 外使用的服務，例如外送餐點或叫車，必須透過其他付款方式，如 Apple Pay 或信用卡。一對一的即時課程也可以不用，但多人即時課程不行。

### 在我網站訂閱的客戶可以在 app 裡登入嗎？

跨平台服務可以，前提是 app 內也用 App 內購買販售相同的使用權。這是規則 3.1.3(b)。如果 app 內沒有這個方案，你就會落入典型的 3.1.1 退件：在別處購買、卻無法透過 Apple 購買的內容。

### 用 RevenueCat 就能符合 3.1.1 嗎？

RevenueCat 建立在 Apple 的 App Store 內購買之上，所以不會造成 3.1.1 問題。但它不會幫你移除 app 裡的外部付款按鈕或自製代碼。合規性還是要逐一檢查每個畫面，以及你的頁面。


## 你的專案

[Apple Review Kit](https://devoria.fr/zh-hant/kits/review-apple)：我使用的 App Store 審核檢查清單、我被 Apple 退件後的修正、給審核人員的備註，以及兩個審閱你 App 的 Claude Code skills。29 €。

[iOS Kit](https://devoria.fr/zh-hant/kits/ios)：用 Claude Code 打造你的 iPhone App：我的 App 所用的 Starter Code、檢查成果的 skills，以及 Apple Review Kit、App Store Screenshots Kit 與 ASO Kit。129.99 €。
