はじめに
先日2025/12/18日のスマホ新法施行により、いくつかの法的義務による変更がありました。その一つが外部決済手段(購入手段、代替支払い)の解禁です。今までは一部例外を除き、デジタルコンテンツの購入はアプリ内決済(In-App Purchase)のみが認められており、それ以外の決済手段をアプリ内に盛り込むとリリースできませんでした。それがこの度解禁され、ウェブ上の決済などが可能になりました。
そんな中、Apple、日本でのiOSにおける変更を発表でスマホ新法の対応に関する公式発表がありました。そこには既存のアプリ内決済の手数料の減額と並んで外部決済の手数料が記載されていました。
コアテクノロジー手数料(CTC):App Store以外の場所で配信されたiOSアプリについては、有料アプリを含む、デ>ジタル商品やサービスの売上の5パーセントの手数料を支払います。
外部決済だと当然appleのエコシステムから離れ、検知できないようになるわけだからどうやって手数料を課すのだろうかと疑問に思ったため調べてみました。
警告
この記事は手順を説明するものではありません。
実際に組み込む場合は公式や他の記事を参考にしてください。
Appleの検知の仕組み:トークンベースの追跡システム
トークンによる追跡
結論から言うとトークンを使ってAppleに購入を報告する仕組みでした。
まずはアプリからStoreKit APIのtoken(for:)を使ってトークンを発行します。そのトークンを外部決済サイトに送ります。ユーザーがサーバーを介してコンテンツの購入ができます。
月次報告の義務
ここからは外部決済サイトの話になります。サーバーはユーザーがアクセスしてきたときに送ったトークンをアカウントに紐付けて保存しています1。そのトークンと購入したものに関する情報をSend External Purchase Reportに送信します。これは毎月15日までに前月分を送る必要があります。また、購入が完了していない場合(失敗・キャンセル)でも送る必要があります。
全体の流れ(シーケンス図)
トークン使わないことだってできない?
アプリでは外部決済を使う場合、ルーティング前に専用の画面を表示してユーザーへの通知する必要があります。
またApp Reviewではアプリ内課金以外の独自のメカニズムでコンテンツのアンロックができないとなっています。また他の購入方法へのリンクの章では**StoreKit外部購入リンクの権利を利用して〜**のような記載があります。ここから察するにただ購入リンクを置くだけだとリジェクトされることになるでしょう。
レポートで虚偽申告したら?
Appleへの報告は自己申告ではあるが監査権を持っているので申告内容が正しいかどうかを検証できます。仮に虚偽申告を行った場合は収益の相殺やアプリの削除が行われます。
まとめ
調査前のイメージだと開発者が好きな決済方法を自由に使えるものだと思っていたが、しっかりルールが設けられていて、StoreKitを介さないとできなかったり安いとはいえ手数料はしっかりかかったりするあたり、どのアプリも外部決済を導入した方が得するというわけではありませんでした。
売上の把握方法については、トークンベースの追跡システムと月次報告で管理されており、完全な自己申告制ではなく監査権も存在するため、透明性が求められる仕組みになっていました。
参考
- https://developer.apple.com/documentation/StoreKit/receiving-and-decoding-external-purchase-tokens
- https://developer.apple.com/support/communication-and-promotion-of-offers-on-the-app-store-in-the-eu/#entitlements-implementation
- https://developer.apple.com/support/payment-options-on-the-app-store-in-japan
- https://developer.apple.com/jp/support/app-distribution-in-japan/
- https://www.apple.com/newsroom/2025/12/apple-announces-changes-to-ios-in-japan/
- https://developer.apple.com/jp/app-store/review/guidelines/
-
URLはEUのもので日本向けのものには見つけられませんでした。日本にはユーザーアカウントの紐付けは不要かもしれません。 ↩