アプリ内課金のタイプごとに返金の仕組みは異なり、あなたの言い分を尋ねてくるのはそのうち2つだけ
消耗型、非消耗型、自動更新サブスクリプション、非更新サブスクリプションは、それぞれ独自のルールで返金されます。復元できるものもあれば、使い切ると消えてしまうものもあり、開発者に証拠を求めてくるのは消耗型のリクエストとサブスクリプションのリクエストだけです。あなたが販売するアプリ内課金のタイプが、返金によってあなたに何が起こるかをどう変えるのかを解説します。

要点
- App Store にはアプリ内課金のタイプが4つあります。消耗型、非消耗型、自動更新サブスクリプション、非更新サブスクリプションで、それぞれ異なるルールで返金されます。Google Play は同じカタログを一回限りの商品とサブスクリプションに分類します。
- 返金が判断される前に開発者へ証拠を求めてくる Apple のフローは2つだけです。消耗型の CONSUMPTION_REQUEST と、WWDC24 以降の自動更新サブスクリプションの CONSUMPTION_REQUEST です。非消耗型と非更新サブスクリプションは、その窓をほとんど開きません。
- 消耗型は返金リスクが最も高いタイプです。配信時に使い切られ、復元できず、その価値は返金が届く前に消えてしまいます。だからこそ Apple はそれらについてあなたの消費データを求めるのです。
- 非消耗型は永続的で復元可能なので、返金は顧客のアカウントがまだ覚えている権利を取り消さなければなりません。Google Play では、72 hours 以内に承認しなかった購入は自動的に返金され、アクセスが取り戻されます。
- 自動更新サブスクリプションは時計に基づいて返金されます。Apple はあなたが送る数字ではなく経過時間からどれだけ消費されたかを計算するので、あなたの仕事は誠実な refundPreference と、その裏付けとなる利用の証拠です。
- App Store では Apple だけがアプリ内課金の返金を発行できます。Google Play では Play Console から自分で注文を返金でき、そのため販売した商品タイプがあなた自身が引き受ける決定になります。
- どのタイプであれ、返金はストアの手数料を顧客に返しますが、あなたの支出を返すことは決してありません。消耗型がすでに引き起こした計算処理、API 呼び出し、ストレージ、支払いは消えたままです。
App Store Connect や Play Console で選んだアプリ内課金のタイプは、商品がどう販売されるか以上のことを決めます。返金が発生したときの挙動、その後に顧客が無料でそのアイテムを取り戻せるかどうか、そしてお金が動く前にあなたの言い分が尋ねられるかどうかを決めるのです。コインパック、買い切りの永久解除、月額サブスクリプション、一度きりのシーズンパスは、4つの異なる法的かつ技術的な対象であり、返金ルールもそのように扱います。ほとんどの開発者はそれら全部を同じ購入コードで出荷し、そのうえで返金がなぜこれほど一貫しないのかと不思議に思います。一貫していないのではありません。タイプごとに固有なのです。
以下は、それぞれのアプリ内課金タイプが何であるか、返金がどう作用するか、そしてなぜ4つのうち2つだけが決定をあなたのサーバーへ経由させるのかです。
4つのアプリ内課金タイプと、返金がなぜそれらに沿って分かれるのか
Apple は4つの商品タイプを定義しています。消耗型は使い切って再び買うものです。ゲーム内通貨、ヒント、エネルギーの補充。非消耗型は一度買って永久に保持するものです。プロ版の解除、広告非表示のアップグレード、ダウンロード可能なレベルパック。自動更新サブスクリプションは顧客が解約するまで繰り返しのサイクルで課金します。非更新サブスクリプションは自動では更新されない一定の期間だけアクセスを付与するもので、単一の期間として販売される1シーズン分のコンテンツのようなものです。
Google Play は同じカタログを違うやり方で分類しますが、行き着く先は同じです。商品を一回限りの商品とサブスクリプションに分け、一回限りの商品が消耗型として扱われるかどうかは、あなたのアプリが購入後にそれを消費するかどうかで決まります。言葉は違います。返金の帰結は違いません。
| アプリ内課金タイプ | 返金後に復元可能か | 返金時点の価値 | Apple はあなたの証拠を求めるか |
|---|---|---|---|
| 消耗型 | いいえ、復元不可 | 通常はすでに使い切り | はい、CONSUMPTION_REQUEST |
| 非消耗型 | はい、アカウントに紐づく | まだ保持、権利は取り消し | まれ |
| 自動更新サブスクリプション | はい、有効な間 | 経過時間で按分 | はい、WWDC24 以降 |
| 非更新サブスクリプション | あなたのアプリが復元しなければならない | 期間が一部経過 | まれ |
消耗型こそ返金詐欺が実際に狙うタイプ
消耗型はあなたが直面する最も厄介な返金ケースであり、Apple が消費リクエストをその周りに作り上げたのがまさにこのタイプであるのは偶然ではありません。顧客が 10,000 コインを買い、あなたのサーバーがそれを付与した瞬間、価値は配信されます。彼らがそのコインを使ってから返金を申請すると、ストアはお金を返せますが、コインは消えており、それらを履行するためにあなたが払ったコストも同様です。Apple 自身のツールもこれを反映しています。消耗型は完了すると取引記録から離れ、キャンセル日を決して持ちません。取り消すべき永続的なものが何もないからです。
だからこそ消耗型は証拠が報われる商品タイプなのです。顧客が消耗型で返金をリクエストすると、Apple はあなたのサーバーに CONSUMPTION_REQUEST を送り、Send Consumption Information の呼び出しを最大 12 hours 待ちます。その呼び出しで、あなたは deliveryStatus を設定し、配信した場合は consumptionPercentage を設定します。そのパーセンテージは milliunits で表される 0 から 100,000 までの整数で、100,000 は顧客が購入全体を使い切ったことを意味します。あなたの記録が完全に使い切ったと示すコイン残高は、あなたが報告できる 100,000 であり、意図しない購入の主張の前に出せる最も強力な単一の事実です。
消耗型は復元できないので、タイミングがすべて
消耗型は復元できないため、サブスクリプションを取り消すようには取り戻せません。ひとたび返金が認められたら、あなた唯一の保護は販売時に残した記録です。配信と消費が起きたときに記録していなければ、あなたは 12 hours の時計の下でそれを再構築することになり、それはデータを探しに行くのに最悪の瞬間です。出るときではなく、入るときに記録してください。
サブスクリプションはあなたが制御できない時計で返金される
自動更新サブスクリプションはほとんどのアプリが稼ぐ場所であり、WWDC24 の返金アップデートはついにそれらを消耗型と同じ証拠の窓へ経由させました。App Store Server Notifications version 2.11 以降、自動更新サブスクリプションへの返金リクエストも CONSUMPTION_REQUEST を発火させます。だからかつては完全にあなた抜きで決められていたサブスクリプションの返金が、今では 12 hours の窓を伴って届きます。
落とし穴は消費がどう測られるかです。自動更新サブスクリプションについて、Apple はあなたに利用率をでっち上げてほしくありません。経過時間から消費を自ら計算するので、年間プランに半年入っている人はあなたが何を送ろうとおよそ半分消費されたと読まれます。あなたのレバーはパーセンテージではありません。GRANT_FULL、GRANT_PRORATED、または DECLINE という誠実な refundPreference であり、あなたが実際に持っている利用シグナルに裏付けられたものです。証拠が支持する選好を送り、Apple に判断させてください。
非更新サブスクリプションは一回限りの解除に近い
非更新サブスクリプションは顧客が一度買う一定期間であり、返金の観点では自動更新プランよりも非消耗型に近い振る舞いをします。Apple はそれに CONSUMPTION_REQUEST をめったに経由させず、按分すべき自動更新もありません。あなたのアプリがその期間を追跡し顧客のデバイス間で復元する責任を負うので、返金はあなた自身が管理していたアクセスの窓を終わらせることを意味し、Apple があなたのために計時していた窓ではありません。
非消耗型は永続的であり、それは両刃の剣
非消耗型は最もすっきり販売できるものであり、返金時の静かな罠です。一度買われ、顧客のストアアカウントに永久に紐づき、ストアは要求に応じてどのデバイスにも復元できます。その永続性は返金が届くまでは長所ですが、届いた今、あなたはアカウントがまだ覚えている権利を取り消さなければなりません。あなたの取り消しロジックが購入時にしか確認せず再検証しないなら、返金された顧客は購入を復元して有料機能へまっすぐ戻れてしまいます。
Google Play はここで新しい開発者を引っかける硬い縁を1つ加えます。あなたのアプリが 72 hours 以内に購入を承認しなければ、Google は自動的にそれを返金し権利を取り消します。あなたの課金コードが承認し忘れた非消耗型は宙ぶらりんにはなりません。それは自ら反転し、顧客は自分の何のリクエストもなしに、支払ったもののアクセスを失います。

そもそも誰が返金を発行できるかはストアとタイプで変わる
返金への対応を計画する前に、誰がペンを握っているかを知ってください。App Store では、あらゆる商品タイプについて、Apple だけがアプリ内課金の返金を発行できます。あなたの StoreKit コードは購入を返金できず、あなたのサポートデスクもできません。窓を開く2つのタイプについて消費データを送って Apple の決定に影響を与えることはできますが、それがあなたの直接の制御のすべてです。
Google Play は逆です。あなたは一回限りの商品やサブスクリプションの注文を、Play Console あるいは Voided Purchases と返金 API から、全額でも一部でも自分で返金できます。その自由はまた責任でもあります。消耗型について発行した返金は、それでもあなた自身のバックエンドでそのアイテムを取り消さなければなりません。あなたのコインが使い切られたことを Google は知らないからです。あなたが選んだ商品タイプが、その取り消しがどれだけすっきりするかを決めます。
それぞれの返金タイプが実際にあなたにいくらかかるのか
返金された価格は誰もが見つめる行であり、請求書の最も小さな部分です。どのストアも返金を認めるとき、自らの手数料もそれと一緒に戻すので、あなたは定価全額ではなく純受取額を失います。それが良い知らせで、そこで終わりです。ストアが返すのは自らが取った取り分です。決して返さないのは、あなたが販売を果たすためにすでに使ったものであり、その数字は商品タイプによって大きく変わります。
消耗型は高くつく返金
返金された消耗型は、その価格以上にかかりうるものです。ある顧客が 5,000 クレジットを買い、その各々が有料の推論呼び出しを引き起こし、そのうち 4,000 を使い、それから返金を申請するとします。ストアは価格とその手数料を返しますが、計算処理、トークンあたりの API 請求、あなたが生成した画像、そしてそれらのクレジットが賄ったクリエイターへの支払いはすべて使われています。非消耗型の返金は少なくとも権利をあなたの制御に引き戻します。消耗型の返金が引き戻すのは、あなたがすでに全コストを払った販売です。
チャージバックは同じ請求書のより重い版
返金とチャージバックは異なる出来事であり、その差には今や日付がついています。顧客がストアに尋ねる代わりに自分の銀行にその請求を争うとき、完了したチャージバックは銀行が最終です。August 3 2026 当日以降に行われた Google Play の注文について、敗れたチャージバックは開発者に購入価格から Play のサービス料を差し引いた額に加え、カードネットワークが定める定額の銀行のチャージバック手数料を請求します。Google Play は orders.reviewrefund を通じて 24 hours の窓とともにチャージバックをあなたのレビューへ経由させます。これはあなたの証拠を求める唯一の Google のフローであり、どの商品タイプにも降りかかりえます。
タイプがルールを決めるとき、どう対応するか
販売後に返金がどの商品タイプに降りかかるかは変えられませんが、4つ全部を同じやり方で扱うのはやめられます。
- 消耗型については、配信と消費が起きた瞬間にそれらを記録してください。そのログは、復元できない唯一のタイプにおけるあなたの防御のすべてであり、12 hours の窓はそれをゼロから作るにははるかに短すぎます。
- 非消耗型については、購入時だけでなく返金後に権利を再検証してください。復元の呼び出しは現在の状態を確認すべきで、そうすれば返金された顧客は有料機能へ戻れません。
- 両方の証拠の窓に自動的に答えてください。12 hours の消費リクエストと 24 hours のチャージバックレビューは、誰かが受信箱を読むのを待てず、タイムゾーンのために延長もされません。
- あなたの返金防御は争える2つのタイプについてだけ判断してください。決して窓を開かなかったタイプでの返金の増加は、あなたの証拠の失敗ではなく、商品または価格のシグナルです。
これはどれもストアに勝つことではありません。実際に販売された対象にあなたの対応を合わせることです。RefundHalt は、消耗型とサブスクリプションの CONSUMPTION_REQUEST および Google Play の orders.reviewrefund のレビューに、窓の内側で、販売時に記録した配信と利用の証拠とともに自動的に答え、どの窓もあなたに争わせなかった返金をそれ自身の台帳に保つので、あなたが自らを判断するための数字は誠実なままです。
よくある質問
- アプリ内課金を自分で返金できますか?
- ストアによります。App Store では、あらゆる商品タイプについて Apple だけがアプリ内課金の返金を発行できるので、あなたの唯一の影響力は、それを求める2つのフローで送る消費データです。Google Play では、一回限りの商品やサブスクリプションの注文を Play Console あるいは返金 API から、全額でも一部でも自分で返金できます。
- どのアプリ内課金タイプが返金リスクが最も高いですか?
- 消耗型です。消耗型は配信時に使い切られ、復元できず、その価値は通常、返金リクエストが届く前に消えています。だからこそ Apple は消耗型について CONSUMPTION_REQUEST を送りあなたの消費データを求めるのであり、消耗型の裏にある計算処理や API のコストが、その返金を販売より高くつかせうるのです。
- Apple はすべての購入タイプについて消費リクエストを送りますか?
- いいえ。Apple は消耗型について、そして WWDC24 のアップデート以降は自動更新サブスクリプションについて CONSUMPTION_REQUEST を送ります。非消耗型と非更新サブスクリプションはその証拠の窓をめったに開きません。どのタイプについても、返金そのものは依然としてあなたではなく Apple が決めます。
- 顧客は返金後に消耗型を復元できますか?
- いいえ。消耗型は復元できず、それがそれらの返金をあなたにとって最終的にするものです。非消耗型と有効なサブスクリプションは顧客のストアアカウントに紐づいており復元できるので、それらへの返金は権利を取り消さなければならず、あなたのバックエンドは購入時から信頼するのではなく再検証すべきです。
- サブスクリプションの返金はどう違う形で計算されますか?
- 自動更新サブスクリプションについて、Apple はあなたが送るパーセンテージからではなく経過時間からどれだけ消費されたかを計算するので、期間の半分はおよそ半分消費されたと読まれます。あなたの役割は、でっち上げた消費の数字ではなく、あなたが持つ利用の証拠に支えられた GRANT_FULL、GRANT_PRORATED、または DECLINE という誠実な refundPreference です。
出典と参考資料
- Apple Developer: In-App Purchase (product types)
- Apple Developer: ConsumptionRequest (App Store Server API)
- Apple Developer: Send Consumption Information
- Google Play Console Help: Understand in-app product types
- Android Developers: One-time products (Play Billing)
- Android Developers: Process purchases and acknowledgement (72-hour auto-refund)
- WWDC24: Explore App Store server APIs for In-App Purchase
RefundHalt
App Store と Google Play の返金を自動処理
続きを読む
アプリの返金法は顧客の国によって変わり、そのほとんどが開発者に発言権を与えない
アプリの返金法はEU、英国、米国で異なりますが、大半のアプリ販売では結果は同じです。EUの14日間の撤回権は購入手続きの時点で通常放棄され、米国の購入者はストアポリシーに頼り、開発者に応答させる法定返金は存在しません。あなたの言い分を尋ねるストアのフローは2つだけです。
フレンドリーフラウドは顧客が支払った商品をすでに受け取っているチャージバックであり、あなたの証拠がまだ影響できる唯一の紛争です
フレンドリーフラウドとは、実在の顧客があなたのアプリ内課金を購入し、使い切ったうえで、銀行にその請求は誤りだと申告することです。商品は消費され、代金は逆戻りします。それがアプリ開発者にいくらの損失をもたらすのか、なぜ増えているのか、そして Apple と Google が反論のために与える短い猶予について説明します。