Apple がサブスクリプションを企業へシート単位で販売開始。マルチシート・サブスクリプションの返金は仕組みが違う
Apple は 2026年10月22日、企業と学校向けのマルチシート・サブスクリプションを開始し、初期設定で有効にしました。1件の購入で多くの人をカバーでき、シートの削除は REVOKE 通知として届き、返金の証拠を送るエンドポイントは割り当てられたシートを拒否します。何が変わり、どんなコストが生じるのかを解説します。

要点
- 2026年10月22日以降、Apple Business または Apple School Manager を使う組織は、1件の Apple App内課金でアプリの自動更新サブスクリプションをまとめて購入し、デバイス管理ツールでシートを割り当て、いつでもシートを追加・削除できます。
- Apple は App Store Connect でマルチシート購入を初期設定で有効にしました。2026年9月14日より前に作成され、StoreKit 2 を使っていない、またはファミリー共有をオンにしているサブスクリプションは、最初から対象外です。カスタムアプリ内のサブスクリプションはオプトアウトできません。
- マルチシート購入では、Apple のトランザクションペイロードの quantity フィールドがシート数を示し、シートを受け取った各人には inAppOwnershipType が ASSIGNED のトランザクションが発行されます。
- 組織が割り当てたサブスクリプションを誰かから取り上げると、Apple は REVOKE 通知を送り、トランザクションの revocationType は ASSIGNMENT_REVOKE になります。この値は 2026年10月23日に本番環境で利用可能になりました。
- CONSUMPTION_REQUEST への回答に使う Apple の Send Consumption Information エンドポイントは、割り当てられたトランザクションで呼び出すと InvalidAssignedTransactionNotSupportedError を返します。そのため、返金の証拠は購入者のトランザクションに対してしか送れません。
- Apple の revocationType フィールドは REFUND_FULL と REFUND_PRORATED を区別し、revocationPercentage は返金割合をミリ単位で示します。40000 は 40% です。
- 1人の App Store 顧客が複数のシートを購入して他の人を招待できる Group Purchases(グループ購入)は、2026年11月からサンドボックスでテストでき、この冬に App Store で提供されます。
Apple は 2026年10月22日、アプリのサブスクリプションを組織へシート単位で販売し始め、ほとんどの開発者に確認することなくこのオプションをオンにしました。Apple Business または Apple School Manager を使う企業や学校は、1件の App内課金であなたの自動更新サブスクリプションをまとめて購入できるようになりました。これにより、マルチシート・サブスクリプションの返金がサーバー上でどう見えるかが変わります。1件のトランザクションが数十人分の支払いになり得ます。シートは返金なしで消えることがあります。そして返金案件で反論するためのエンドポイントは、実際にアプリを使っている人について一切受け付けません。
Apple が何をオンにし、どこで発表したか
今回の開始は、「Offer your subscriptions to businesses and schools」という短い Apple Developer ニュースで告知されました。組織は1件の App内課金で必要なシートを購入し、既存のデバイス管理ツールでシートを割り当て・管理し、いつでもシートを追加・削除できる、とあります。同じ記事は、設定をすでに変更していない限り、App Store Connect でマルチシート購入が初期設定で有効になるとも述べています。
基盤となる変更は、ステージ上ではなく、その前の1か月の変更履歴で段階的に届きました。9月28日付の App Store Server API 1.22 で、シート関連のフィールドとグループ用エンドポイントがサンドボックス限定で追加されました。10月23日には、1行だけのサーバー更新でグループ用エンドポイントと ASSIGNMENT_REVOKE の値が本番環境に移されました。通知ハンドラーを夏から変更していないなら、想定していなかったデータをすでに受け取っています。
| 日付 | 変更内容 | Apple の発表場所 |
|---|---|---|
| 2026年6月 | WWDC26 でマルチシート・サブスクリプションを発表 | Session 391、Offer subscriptions to groups and organizations |
| 2026年9月16日 | App Store Connect でマルチシート購入を初期設定で有効化 | Apple Developer ニュース |
| 2026年9月28日 | quantity がシート数を示すように、ASSIGNED と ASSIGNMENT_REVOKE を追加、サンドボックスのみ | App Store Server API 変更履歴、バージョン 1.22 |
| 2026年10月22日 | Volume Purchasing(一括購入)を Apple Business と Apple School Manager で提供開始 | Apple Developer ニュース |
| 2026年10月23日 | ASSIGNMENT_REVOKE とグループ用エンドポイントが本番環境で利用可能に | Server API と Server Notifications の変更履歴 |
| 2026年11月 | Group Purchases をサンドボックスでテスト可能に | Apple Developer ニュース |
| この冬 | Group Purchases を App Store で提供 | Apple Developer ニュース |
初期設定で対象になるのは誰か
ほぼ全員です。Apple の App Store Connect ヘルプページによると、2026年9月14日より前に作成されたサブスクリプションが最初から対象外になるのは、StoreKit 2 を使っていないか、ファミリー共有がオンになっている場合だけです。カスタムアプリ内のサブスクリプションは自動的に Apple Business と Apple School Manager に提供され、オプトアウトはできません。設定の変更にはアカウント保持者、管理、App マネージャのいずれかの役割が必要です。承認済みサブスクリプションから Apple Business または Apple School Manager を外すには、アカウント保持者が必要です。
マルチシート購入はサーバー上でどう見えるか
同じサブスクリプションに、2種類のトランザクションが存在するようになりました。組織の購入は1件のトランザクションで、その quantity フィールドが購入したシート数を示します。シートを受け取った各人には個別のトランザクションが届きます。Apple の WWDC セッションでは、App Store がメンバーごとにトランザクションを割り当てると説明されています。これらのメンバー用トランザクションの inAppOwnershipType は ASSIGNED で、すでに扱っているかもしれない PURCHASED や FAMILY_SHARED と並びます。
アクセス権をどの記録で判断するかについて、Apple の立場は明確です。Get Customer Groups のドキュメントには、グループのメンバーシップは利用資格とは別物であり、コンテンツを解放するにはグループのメンバーシップに頼らず顧客のトランザクションを読むべきだと書かれています。アクセス権はトランザクションに基づいて付与してください。グループ用エンドポイントは管理者向け画面などの機能にだけ使います。
| フィールドまたは値 | 意味 | 追加日 |
|---|---|---|
| quantity | マルチシート購入のシート数 | 2026年9月28日 |
| inAppOwnershipType = ASSIGNED | その人は組織またはグループを通じてアクセス権を持つ | 2026年9月28日 |
| revocationType = ASSIGNMENT_REVOKE | 購入者がこの人からサブスクリプションを取り上げた | 2026年9月28日、本番は10月23日 |
| revocationType = REFUND_FULL または REFUND_PRORATED | トランザクションが全額または一部返金された | 2025年12月10日 |
| revocationPercentage | 返金割合、ミリ単位(40000 = 40%) | 2025年12月10日 |
シートの削除は返金ではない
ほとんどのハンドラーがここを間違えます。組織が従業員からシートを取り上げると、Apple は REVOKE 通知を送ります。これはファミリー共有の購入者が共有をやめたときと同じ種類です。トランザクションの revocationType は ASSIGNMENT_REVOKE で、Apple の指示は端的です。そのトランザクションが提供するコンテンツへの顧客のアクセス権を取り消してください、というものです。
このイベントには、お金が動いたことを示す情報は何もありません。すべての取り消しを返金として扱うコードだと、返金率や純収益、それらの上に作ったアラートが、日常的な人の入れ替わりを売上の損失として数えてしまいます。まず revocationType で分岐してください。
- ASSIGNMENT_REVOKE:この人のアクセス権を終了する。返金として計上しない。
- FAMILY_REVOKE:家族メンバーのアクセス権を終了する。返金として計上しない。
- REFUND_FULL:アクセス権を終了し、トランザクション全体を返金として計上する。
- REFUND_PRORATED:revocationPercentage の割合を計上し、そのうえで残すアクセス権を決める。

割り当てられたシートの返金に反論できない理由
App Store の返金は、今もすべて Apple が判断します。顧客が返金を求めると、Apple は CONSUMPTION_REQUEST を送り、Send Consumption Information で回答する時間として 12時間を与えます。マルチシートでは、アプリを使う人と支払った人が別人であり、Apple の API は両者の間に明確な線を引いています。
Send Consumption Information は割り当てられたトランザクションを拒否する
割り当てられたトランザクションで Send Consumption Information、その V1 版、または Set App Account Token を呼び出すと、Apple は InvalidAssignedTransactionNotSupportedError を返します。Apple は、呼び出す前に inAppOwnershipType が ASSIGNED かどうかを確認するよう勧めています。実際には、証拠は購入者のトランザクションに送るか、どこにも送れないかのどちらかです。それでも、アプリがメンバーのアカウントで記録する利用状況は残しておく価値があります。シートが実際に使われたかどうかを知る唯一の手段だからです。
按分返金はどう見えるか
Apple は 2025年12月に REFUND_PRORATED と revocationPercentage を追加しました。消費情報リクエストでは、refundPreference に GRANT_PRORATED を指定してこの結果を求めることができます。自動更新サブスクリプションの場合、Apple は割合を自ら計算するため、GRANT_PRORATED と一緒に consumptionPercentage を送らないよう求めています。返金が後で取り消されると、revocationPercentage はトランザクションから消えます。
お詫びとして従業員1人のサブスクリプションを延長できるか
できません。割り当てられたサブスクリプションに対して Extend a Subscription Renewal Date を呼ぶと、AssignedSubscriptionExtensionIneligibleError が返ります。Apple の説明では、割り当てられたサブスクリプションは購入者が買ったものと同じスケジュールで更新されるため、メンバー1人だけを動かすことはできません。
マルチシート・サブスクリプションの返金にかかるコスト
新しいリスクは規模です。Apple の WWDC セッションでは、最大5段階の価格帯を使った一括価格設定が紹介されています。例では、20シートまでは1シートあたり月額 $19.99、21〜40シート目は $13.99、41シート目からは $10.99 です。この数字だと、50シートの注文は月額 $789.50、1シートあたり約 $15.79 になります。この1件のトランザクションに REFUND_FULL が付くと、サブスクリプション1件分の価格ではなく、$789.50 全額が返金されます。
提供コストも同じように膨らみます。50シートとは、50人があなたのサーバーでセッションを動かし、機能のために費用を払っているサードパーティ API を呼び出し、課金されるストレージを埋めるということです。ハンドラーが購入者のトランザクションしか見ていないせいで、返金された注文のシート保有者がアクセス権を保ったままなら、その全員分の費用を払い続けることになります。ASSIGNMENT_REVOKE の見落としは規模は小さいものの、頻度は高くなります。購入はもうその人をカバーしておらず、その人のリクエストはすべて収益の裏付けのないコストです。
| イベント | 動くお金 | 終了すべきアクセス権 | 送れる証拠 |
|---|---|---|---|
| メンバーへの ASSIGNMENT_REVOKE | 報告なし | そのメンバー | 該当なし |
| マルチシート購入への REFUND_FULL | トランザクション全体、含まれる全シート | 購入者と全シート保有者 | 購入者のトランザクションのみ、CONSUMPTION_REQUEST から 12時間以内 |
| マルチシート購入への REFUND_PRORATED | revocationPercentage の割合 | 返金の対象範囲による | 購入者のトランザクションのみ |
| 割り当てられたトランザクションへの消費情報の回答 | 受け付けられない | 該当なし | InvalidAssignedTransactionNotSupportedError で拒否 |
そもそも開発者の言い分を求める返金フローはどれか
マルチシートでも、この短いリストは変わりません。開発者に証拠を求める返金フローは2つだけです。12時間以内に Send Consumption Information で回答する Apple の CONSUMPTION_REQUEST と、24時間以内に orders.reviewrefund で回答する Google Play のチャージバック審査です。それ以外はすべてあなた抜きで決まります。また、2026年8月3日以降の Google Play の注文では、チャージバックが発生すると、開発者は購入価格から Play のサービス手数料を引いた額に加え、銀行のチャージバック手数料を負担します。RefundHalt は、あなたがすでに収集している利用データを使い、12時間の期限内に Apple の消費情報リクエストに回答します。
今週 App Store ハンドラーで変えるべきこと
- すべてのサブスクリプション・トランザクションで quantity を読み、購入と一緒に保存する。
- inAppOwnershipType を保存し、ASSIGNED を PURCHASED や FAMILY_SHARED と並ぶ独立したケースとして扱う。
- REVOKE の処理を revocationType で分岐し、ASSIGNMENT_REVOKE では返金を計上せずにアクセス権を終了する。
- REFUND_PRORATED は全額返金ではなく、revocationPercentage の割合で計上する。
- Send Consumption Information、Set App Account Token、Extend a Subscription Renewal Date を呼ぶ前に、ASSIGNED かどうかを確認する。
- どこかの組織が50シートを購入する前に、そもそも組織に販売したいかどうかを App Store Connect で決めておく。
よくある質問
- 自分のアプリで Apple のマルチシート・サブスクリプションは有効になっていますか?
- おそらく有効です。Apple は App Store Connect でマルチシート購入を初期設定で有効にしました。2026年9月14日より前に作成されたサブスクリプションが最初から対象外になるのは、StoreKit 2 を使っていないか、ファミリー共有がオンの場合だけで、カスタムアプリ内のサブスクリプションはオプトアウトできません。各サブスクリプションのページの購入オプションで確認できます。
- ASSIGNMENT_REVOKE 付きの REVOKE 通知は、お金を失ったという意味ですか?
- いいえ。ASSIGNMENT_REVOKE は、組織またはグループの購入者が1人からサブスクリプションを取り上げたことを意味します。Apple はその人のアクセス権を終了するよう求めていますが、このイベントは返金を報告していません。返金を計上するのは REFUND_FULL または REFUND_PRORATED のときだけにしてください。
- 割り当てられたシートを使う従業員について消費情報を送れますか?
- いいえ。組織またはグループが顧客に割り当てたトランザクションに対して、Apple の Send Consumption Information エンドポイントは InvalidAssignedTransactionNotSupportedError を返します。まず inAppOwnershipType が ASSIGNED かどうかを確認し、証拠は購入者のトランザクションに送ってください。
- マルチシート購入のうち Apple がどれだけ返金したかは、どうすればわかりますか?
- トランザクションの revocationType と revocationPercentage を読んでください。REFUND_FULL はトランザクション全体が返金されたことを意味します。REFUND_PRORATED にはミリ単位の revocationPercentage が付き、40000 はトランザクションの 40% を意味します。
- Apple の Group Purchases はいつ始まりますか?
- Apple によると、1人の App Store 顧客が複数のシートを購入して他の人を招待できる Group Purchases は、2026年11月からサンドボックスで設定とテストができ、この冬に App Store で提供されます。企業と学校向けの Volume Purchasing は 2026年10月22日に開始されました。
出典と参考資料
- Apple Developer News: Offer your subscriptions to businesses and schools (October 22, 2026)
- App Store Connect Help: Manage purchase options for an auto-renewable subscription
- WWDC26 Session 391: Offer subscriptions to groups and organizations
- App Store Server Notifications changelog
- App Store Server API: revocationType
- App Store Server API: revocationPercentage
- App Store Server API: InvalidAssignedTransactionNotSupportedError
- App Store Server API: ConsumptionRequest
RefundHalt
App Store と Google Play の返金を自動処理
続きを読む
過剰な返金リクエストは返金額以上の損失を招く。両ストアがそれを品質シグナルとして扱うからだ
Apple のガイドライン 5.6.4 は、過剰な返金リクエストをアプリが品質基準を満たしていない兆候として挙げています。Google のデベロッパー販売契約も、返金率を根拠に新規デベロッパーのアプリを削除できると定めています。各ストアの規定、削除の実際のコスト、そしてリスクを避ける方法を解説します。
返金に対応する前に App Store サーバー通知を検証する。webhook URL には誰でも POST できるからです
返金通知は、署名を確認するまではただの HTTPS リクエストにすぎません。App Store サーバー通知と Google Play の RTDN メッセージを検証する方法、各ストアが何に署名しているか、そして偽造された返金や誤って拒否された返金がどれだけの損失になるかを解説します。