Guideline 3.1.1:何時必須用 App 內購買
作者:Mehdi Azizi
發布於 ,9 分鐘
App 內解鎖的數位內容或功能,都必須透過 Apple 的 App 內購買。本文整理例外、歐盟與美國規則及修正方式。
只要你的 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 的指南。
Guideline 3.1.1 寫了什麼?
3.1.1「In-App Purchase」是 App Review Guidelines 中 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 論壇公開的一則退件中,訊息寫著 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 文件,它適用於所有類型的 App 內購買:訂閱、消耗型與非消耗型項目。你在 App Store Connect 建立代碼,使用者在 App Store 或你的 app 裡輸入。
例外:不需要 App 內購買的情況
規則 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) 說明 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 提供這項資訊。
歐盟
根據 Apple 的歐盟付款選項頁面,自 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 文件中。
修正 3.1.1 退件並回覆 Apple
- 找出那個入口。 訊息會指出有問題的內容或畫面:在別處購買的內容、按鈕、代碼、連結。
- 關掉它,或補上 App 內購買。 要嘛移除按鈕或代碼,要嘛用 App 內購買販售相同內容。
- 只有真的符合時才主張例外。 引用 3.1.3 的具體條款,用兩句話說明為什麼你的情況適用。
- 讓審查人員有東西可以測試。 在審查備註裡提供示範帳號和進入付費牆的路徑,就像我在 guideline 2.1 的指南中說明的。
你要在 App Store Connect 的 App Review 區塊回覆,依照回覆 App Review 的流程。以下是最常見情況(在網站購買的內容)的範本。這只是範例:請把 build、產品和操作路徑換成你自己的。
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 申訴。
不用全部重寫就接上 App 內購買
對新手來說,最簡單的做法是在 App Store Connect 建立產品,再用 RevenueCat 連到 app:步驟在 RevenueCat:設定 App 內訂閱。如果你在兩種模式之間猶豫,請看訂閱還是一次性購買。如果你用無程式碼工具開發,先確認它支援 App 內購買:這是不寫程式也能做 app 裡的一個重點。
只要你的 App 內購買是訂閱,就還要加上 3.1.2:顯眼的收費金額、期間、續訂、連結。最常見的畫面錯誤整理在iOS 付費牆:7 個新手錯誤。
送審前的 3.1.1 檢查清單
- App 內所有可解鎖的東西(功能、內容、關卡、貨幣)都透過 App 內購買販售。
- 沒有任何按鈕、連結或文字導向外部付款,除非是美國店面或已取得的區域計畫。
- 你的頁面描述沒有提到任何其他付款方式。
- 在你網站上販售的內容,在 app 內也能用 App 內購買買到。
- 沒有任何授權金鑰、QR code、自製代碼或加密貨幣可以解鎖任何東西。
- 要提供免費使用,你用的是 Apple 的優惠代碼。
- 購買的點數不會過期,而且「Restore Purchases」按鈕可以正常運作。
- 每個付費寶箱或抽獎都在購買前顯示機率。
- 實體商品或 app 外的服務透過 Apple Pay 或信用卡付款,不走 App 內購買。
- 你的審查備註說明了購買項目在哪裡,如果主張例外,也寫明是哪一項。
送出前檢查你的 app
如果你的 app 剛被 3.1.1 退件,Apple Review Kit 能幫你找到被引用的規則、它的要求,以及修正和回覆的範例。它給審查人員的備註也涵蓋 App 內購買。如果想要有人親自看,跟我預約一小時:我們一起讀 Apple 的訊息,找出它看到的那個入口。完整流程在被 Apple 退件的 app 頁面,購買設定則在 iOS App 內訂閱頁面。
如果你正在準備第一次上架,做免費診斷:它會幫你把步驟排好順序,並寄給你我的 Apple 防退件檢查清單。如果想開發手機 app 並從一開始就透過 App 內購買販售,iOS Kit 的程式碼已經內建付費牆和訂閱。
沒有人能保證 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 裡的外部付款按鈕或自製代碼。合規性還是要逐一檢查每個畫面,以及你的頁面。