iOSアプリ内でサブスクリプションを購入し、後から解約、アップグレード、ダウングレード、あるいは返金を希望したくなった場合、その手続きや変更方法に困った経験があるかもしれません。iPhoneからアプリを削除するだけでサブスクリプション料金の支払いを止められると信じている人も、iPhoneの設定やApp Storeで返金の方法をあれこれ探しても見つからない人もいます。今週開催された世界開発者会議(WDC)でAppleがStoreKit 2のアップデートを発表したことで、アプリ利用者にとって状況が少し改善されるかもしれません。
StoreKit は、アプリ内購入を管理するための Apple の開発者フレームワークです。アプリが 1 回限りの購入から、さまざまなレベル、期間、機能セットを備えた継続的なサブスクリプションの提供に移行したため、アプリ内購入の管理は近年複雑化しています。

現在、サブスクリプションの管理や解約を希望するユーザーは、App StoreまたはiPhoneの設定から行うことができます。しかし、設定からこのセクションにアクセスするには、まずApple ID(画面上部の名前とプロフィール写真)をタップする必要があることに気づいていないユーザーもいます。また、設定やApp Storeの操作に慣れていない場合、操作に戸惑うこともあるでしょう。
一方、アプリ内サブスクリプションの払い戻しをリクエストする方法はいくつかあります。受信トレイでAppleからの領収書を探し、そこに含まれる「問題を報告する」リンクをクリックして、何か問題が発生したときに払い戻しをリクエストできます。これは、誤ってサブスクリプションを購入してしまった場合(またはお子様が誤って購入してしまった場合)、または約束された機能が想定どおりに動作しなかった場合などに役立ちます。
Appleは、ユーザーがアプリやコンテンツの払い戻しを直接リクエストできる専用ウェブサイトも提供しています。(Googleで「払い戻しリクエスト Apple」などの検索語を入力すると、通常、検索結果の上位に払い戻し手続きを説明するページが表示されます。)
それでも、多くのユーザーは技術的な知識に乏しいため、サブスクリプションの管理や払い戻しの申請はアプリ内から行うのが最も簡単な方法です。そのため、良心的なアプリ開発者の多くは、アプリ内にサブスクリプション管理や払い戻しのためのAppleのページへのリンクを組み込む傾向があります。
しかし、StoreKit 2 では、開発者がこうした機能をより簡単に実装できるようにする新しいツールが導入されています。
テッククランチイベント
サンフランシスコ | 2025年10月27日~29日
新しいツールの一つに、サブスクリプション管理APIがあります。これにより、アプリ開発者は顧客をApp Storeにリダイレクトすることなく、アプリ内に直接サブスクリプション管理ページを表示できます。オプションとして、開発者は「オファーを保存」画面を表示して顧客に何らかの割引を提示し、解約を抑制したり、解約理由を尋ねられる終了アンケートを表示したりすることも可能です。
実装されると、顧客はApp Storeでサブスクリプションをキャンセルまたは変更する際に表示される画面と全く同じ画面をアプリ内で確認できるようになります。キャンセル後、キャンセルの詳細とサービスの有効期限が記載された確認画面が表示されます。
顧客が払い戻しをリクエストする場合、新しい払い戻しリクエストAPIを使用すると、App Storeや他のウェブサイトにリダイレクトされることなく、アプリ内から直接払い戻しリクエストを開始できます。表示される画面で、顧客は払い戻しを希望する商品を選択し、リクエストの理由を確認できます。払い戻しプロセスはAppleが処理し、承認または払い戻し拒否の通知を開発者のサーバーに送信します。
しかし、一部の開発者は、今回の変更は不十分だと主張しています。彼らは、顧客のサブスクリプション管理と返金処理をプログラム的に自ら管理したいと考えているのです。さらに、Appleが顧客への返金リクエストに関する最新情報を通知するまでに最大48時間かかる場合があり、混乱を招く可能性があります。StoreKit 2では、返金リクエストの確認メールを送信し、48時間の猶予期間を明記し、メールの処理が完了した時点で2通目のメールを送信することで、この問題に対処しようとしているとAppleは述べています。
「プロセスは多少スムーズになりましたが、開発者自身はまだ返金やキャンセルを自分で行うことができません」と、アプリ開発者にアプリ内購入管理ツールを提供するRevenueCatのCEO、ジェイコブ・アイティング氏は指摘する。「これは正しい方向への一歩ですが、返金の責任が誰にあるかについて、開発者と消費者の間で混乱が生じる可能性があります。」
言い換えれば、フォームがアプリ内からよりアクセスしやすくなるため、顧客は開発者が返金プロセスを処理していると信じてしまう可能性があるが、実際には Apple が引き続き返金プロセスを処理し続けている。
アプリをアンインストールした後に書き込みをする可能性もある。あるいは、もう持っていないデバイスで登録した可能性もある。この方法では無視されるケースが非常に多い。
これは、サブスクリプション管理 URL を開くことに比べて、わずかな改善にすぎません。
— ジェイコブ・アイティング — iap/acc (@jeiting) 2021年6月8日
一部の開発者は、このプロセスでは対応できないシナリオもあると指摘しています。例えば、顧客が既にアプリをアンインストールしている場合や、問題のデバイスを所有していない場合は、これまでと同様に、払い戻しを請求するための他の方法を案内する必要があります。
しかし、消費者にとって、このようなサブスクリプション管理ツールは、より多くの開発者がアプリ内でサブスクリプションを管理したり、払い戻しを申請したりするためのボタンを設置するようになることを意味しており、これはより良いユーザー体験をもたらします。顧客がアプリをより簡単に使いこなし、サブスクリプションを管理できることを理解すれば、アプリ開発者は顧客維持率の向上、エンゲージメントの向上、そしてApp Storeのレビュー向上を実現できるとAppleは指摘しています。
SwiftUIの新機能、Pull to Refreshとアクセシビリティの向上が期待されていました。そして驚いたことに、StoreKit 2も登場しました。特に払い戻しリクエストやサブスクリプションのシームレスな管理をユーザーに提供してくれます(Bufferにも最適です)。
— アンドリュー・イェーツ(@ay8s)2021年6月8日
StoreKit 2 の変更は、サブスクリプションと払い戻しを管理するための API に限定されませんでした。
開発者は新しい請求書検索 API にもアクセスできるようになります。これにより、顧客のアプリ内購入を検索し、請求書を検証し、購入に関する問題 (たとえば、App Store からすでに払い戻しが提供されているかどうか) を特定できるようになります。
新しい返金購入 API を使用すると、開発者は顧客のすべての返金を検索できるようになります。
StoreKitを使えば、デバイス上でレシートを検証し、ユーザーが払い戻しをリクエストできるようですね。私のビンゴカードには入っていませんでしたが、これは本当に使い勝手を向上させる素晴らしいアップデートですね!
— コンラッド・ストール(@conradstoll)2021年6月7日
新しい更新延長APIにより、開発者は、ストリーミングサービスのダウンに伴うカスタマーサポートの問題への対応など、サービス停止が発生した場合に、有料のアクティブなサブスクリプションの更新期間を延長できるようになります。このAPIを使用すると、開発者はサブスクリプションを暦年あたり最大2回まで延長でき、それぞれ最大90日先まで延長できます。
そして最後に、新しいConsumption APIにより、開発者は顧客のアプリ内購入に関する情報をApp Storeと共有できるようになります。多くの場合、顧客は購入後すぐにコンテンツを消費し始めるため、この情報は払い戻しの判断プロセスに役立ちます。このAPIにより、App Storeはユーザーがアプリ内購入を部分的に消費したか、完全に消費したか、あるいは全く消費しなかったかを把握できるようになります。
もう一つの変更点は、アプリを再インストールしたり、新しいデバイスにダウンロードしたりする際に役立ちます。以前は、完了した取引のステータスを新しくダウンロードまたは再インストールしたアプリに同期させるには、手動で「購入を復元」する必要がありました。今後は、その情報がStoreKit 2によって自動的に取得されるため、アプリはユーザーが支払った内容に応じて即座に最新の状態になります。
StoreKitに非常に興味深い変更が加えられました。アプリは購入履歴を自動的に復元・同期できるようになるため、ユーザーはアプリを再インストールしたり、新しいデバイスにダウンロードしたりする際に復元する必要がなくなります! https://t.co/WSs6L9rTvK
— マルコス・タナカ (@mactanaka) 2021年6月8日
全体として、これらの変更はStoreKitフレームワークの大幅なアップデートとなるものの、Appleが開発者によるサブスクリプション型顧客へのより厳格な管理権限付与に消極的であることは、Appleがアプリ内購入をいかに管理したいかという姿勢を如実に物語っていると言えるでしょう。これはおそらく、過去に開発者による返金管理を許可しようとした際に、Appleが痛手を負った経験が影響しているのでしょう。
The Vergeが先月報じたように、Epic GamesとAppleの独占禁止法裁判が進行中だったにもかかわらず、AppleはかつてHuluにサブスクリプションAPIへのアクセスを提供していましたが、その後、HuluがApp Store経由で購入したサブスクリプションを、顧客がより高額なサブスクリプションプランにアップグレードしたい場合に自動的にキャンセルできる方法を提供していたことが判明しました。AppleはAPIのこの悪用を防ぐための対策を講じる必要があると判断し、Huluはその後APIへのアクセスを失いました。それ以来、HuluはこのAPIをより広く利用できるようにしていません。
逆に、開発者ではなくAppleがサブスクリプション管理と払い戻しを担当するということは、顧客と開発者の両方による不正行為を含む不正行為の防止に関する責任をAppleが負うことを意味します。顧客は、サブスクリプションの請求管理をAppleに一元化することを望むかもしれません。開発者ごとに個別に対応しなければならないと、一貫性が失われてしまうため、顧客はそれを望まないかもしれません。
これらの変更は重要です。なぜなら、サブスクリプション収入はAppleの収益性の高いApp Store事業の大きな部分を占めているからです。WWDC 21に先立ち、Appleは2020年のApp Storeにおけるデジタル商品とサービスの売上高が前年比40%増の860億ドルに達したと発表しました。今年初めには、2008年のApp Store開始以来、開発者に2,000億ドル以上を支払ったと発表しました。WWDC 2021の基調講演では、この数字を2,300億ドルに更新しました。