すべての記事
Deep dive読了まで 8 分

サブスクの返金は一回限りの返金と同じようには機能せず、どれだけ発言権を持てるかは利用しているストアが決めます

サブスクの返金は、単一の販売ではなく請求期間まるごとを取り消します。App Store では Apple が決定し、あなたのサーバーは結果を知るだけです。Google Play では全額返金か日割り返金かを自分で選びます。各ストアがサブスクの返金をどう扱うか、そして返金一件がいくらのコストになるかを解説します。

毎月の定期請求日に丸が付けられた壁掛けカレンダー、その上に横たわるクレジットカード、途中まで押し戻されたコインが写っており、サブスクの返金が請求期間を取り消す様子を表しています

要点

  • サブスクの返金は一回限りの返金と同じではありません。取り消される単位は請求期間であり、どちらのストアでもサブスクの注文を返金するとサブスクは解約されアクセスが遮断されます。
  • App Store では、すべてのサブスク返金を Apple が決定します。顧客が reportaproblem.apple.com で Apple に申請し、Apple が裁定を下し、あなたのサーバーは REFUND、REFUND_DECLINED、REFUND_REVERSED のいずれかの通知でのみ結果を知ります。
  • Apple がサブスクの返金を認めると、その取引には revocationDate が付き、サブスクの autoRenewStatus は false に設定されるため、更新が止まり顧客はアクセスを失います。
  • Apple は自動更新サブスクを、あなたの利用指標ではなく経過時間で測ります。年間プランの6か月目にいる人はおよそ 50% を消費しており、それに対して表明できる返金の希望は GRANT_PRORATED だけです。
  • Google Play では返金を自分で発行します。purchases.subscriptionsv2.revoke は、現在の期間全体を返す fullRefund か、未使用の権利期間だけを返す proratedRefund のいずれかを受け取ります。
  • Google Play でどの注文を返金するかで結果が変わります。最新の注文を返金するとサブスクは即座に削除され、今後の更新は取り消されます。古い注文を返金するとサブスクは有効なままです。
  • Google Play の制限は厳格です。three years より古い注文は返金できず、部分返金は March 2018 より後に行われた注文にのみ有効で、有料アプリには適用されず、一度発行した返金は取り消せません。

サブスクの返金と単一のアプリ内課金の返金は、同じボタンのように感じられます。ですが違います。一回限りの購入は、あなたが返す1件の課金です。サブスクは、有効な権利が紐づいた継続課金なので、サブスクの返金は一回限りの返金が決して問わない2つの問いに答えなければなりません。現在の期間のうちどれだけを返すのか、そしてサブスクは動き続けるのか、です。App Store と Google Play はこの2つの問いに正反対の答えを出し、その差があなたがどれだけ主導権を握れるか、そしていくらの金額が口座から出ていくかを決めます。

手短な見取り図はこうです。App Store では Apple が決定権を持ち、あなたは事後に知ります。Google Play ではあなたが操作を握り、全額か日割りかを自分で選びます。本記事では両方のストア、それぞれが使う正確なフィールドと通知、サブスクが何度も請求された場合にどの注文を扱うか、そしてすでに費やした計算コストまで数えたときにサブスクの返金が実際にいくらかかるかを順に見ていきます。

サブスクの返金は一回限りの返金とどう違うか

どちらのストアも返金を、特定の注文の取り消しとして扱います。一回限りの購入では注文は1件しかないので、選ぶものはありません。サブスクは注文の連なりで、請求期間ごとに1件あり、有効か否かの権利が紐づきます。この構造があるからこそ、サブスクの返金は一回限りの返金にはない選択を伴います。

取り消される単位は請求期間です

サブスクを返金するとき、あなたは生涯分の支払いを返しているのではありません。あなたが対象にするのは連なりの中の1件、たいていは最新の1件であり、それは単一の請求期間です。全額返金はその期間まるごとを返します。日割り返金は顧客がまだ使っていない期間の部分だけを返します。どちらにせよ、あなたが取り消す販売は1期間分の価格であって、顧客のアプリ利用の全履歴ではありません。

誰が決めるかが本当の違いです

より鋭い分かれ目は権限です。App Store では、サブスクの返金がそもそも起きるかどうかを Apple が決め、あなたはせいぜい背景情報を提供するだけです。Google Play ではあなたが決め、API はあなたの指示どおりに正確に実行します。顧客にとっての結果は同じでも、開発者が座る席はまったく異なり、それによって各ケースを処理するために作るものが変わります。

App Store はサブスクの返金をどう扱うか

Apple 側では、あなたは小さなマイクを持った傍観者です。顧客が Apple とやり取りし、Apple が判断を下し、あなたのサーバーは結果を読み取ります。

顧客が Apple に申請し、Apple が裁定する

App Store の顧客は、あなたではなく reportaproblem.apple.com でサブスクの返金を申請します。Apple は独自のシグナルに照らして申請を審査し、決定します。あなたが承認するのではなく、Google Play のようにサブスクの返金を発行できる Apple のコンソールのボタンもありません。Apple は購入から最大 90 days の間に審査の申請を受理でき、いったん裁定を下すと、その決定は Apple のものです。

返金が届いたときにあなたのサーバーが見るもの

あなたは App Store Server Notifications V2 を通じて結果を知ります。認められた返金は REFUND 通知として届き、その取引にはアクセスをいつ終了すべきかを示す revocationDate が付きます。サブスクの autoRenewStatus は false に設定されるため、更新が止まり顧客は権利を失います。Apple が申請を却下すると REFUND_DECLINED が届き、Apple が後からすでに認めた返金を取り消すと REFUND_REVERSED が届いてサブスクが復活します。あなたの仕事はこれらを読んでアクセスを切り替えることであり、票を投じることではありません。

通知意味あなたがすること
REFUNDApple が返金を認めた。取引に revocationDate が付くアクセスを取り消し、autoRenewStatus を false として扱う
REFUND_DECLINEDApple が顧客の返金申請を却下した何も変わらない。サブスクは継続
REFUND_REVERSEDApple が認めた返金を取り消したアクセスと販売を復元する

Apple はサブスクを、あなたの指標ではなく時間で測る

消耗型アイテムなら、消費データを通じてどれだけ使われたかを Apple に伝えられます。自動更新サブスクについては、Apple が経過時間から消費を独自に計算します。Apple 自身の例は、年間サブスクの6か月目にいる顧客で、そのうちおよそ 50% を消費しています。ですからあなたの利用指標がサブスクの数値を決めるわけではありません。あなたが引ける唯一のレバーは refundPreference で、サブスクにとって関係する値は GRANT_PRORATED であり、それは未使用分だけを Apple に返してほしいという希望を表します。それは希望であって決定ではありません。裁定は依然として Apple が下します。

Google Play はサブスクの返金をどう扱うか

Google Play は決定をあなたの手に委ねます。Play Console の画面と一連の API メソッドがあり、サブスクを直接返金し、いくら返すかを選び、アクセスを終了するかどうかを決められます。これは Apple とは正反対の姿勢で、あなたが正しく行わなければならない選択が伴います。

全額か日割りか、それはあなたの判断

現在サブスクを返金して取り消す方法は purchases.subscriptionsv2.revoke で、revocationContext を付けて呼び出します。fullRefund を渡すと、Google Play はサブスクを終了し、現在の請求期間の全額を返します。proratedRefund を渡すと、Google Play はサブスクを終了し、残りの未使用の権利期間だけを返します。古いメソッドは全額返金しかできず、それが新しいほうを使う理由です。日割りの取り消しは2行の本文で、proratedRefund を包む revocationContext であり、期間全体には fullRefund に差し替えます。どちらの取り消しも SUBSCRIPTION_REVOKED のリアルタイム開発者通知を発生させ、それがアクセスを切断する合図です。

どの注文を返金するかで何が起きるかが変わる

Google Play では orders.refund を通じて、取り消さずに注文を返金することもでき、ここで微妙なルールが効いてきます。サブスク内の最新の注文を返金すると、その注文が返金され、サブスクは即座に削除され、今後の更新は取り消されます。連なりの中の古い注文を返金すると、その注文は返金されますが、サブスクは有効なままです。orders.refund の revoke パラメータは、注文が最新のときにのみ取り消すので、有効なサブスクのアクセスを終了するには代わりに purchases.subscriptionsv2.revoke を使います。

操作返金される注文サブスクはどうなるか
最新の注文を返金最新の請求期間即座に削除、今後の更新は取り消し
古い注文を返金過去の請求期間有効なまま、更新を継続
subscriptionsv2.revoke、全額または日割り現在の期間今すぐ終了、SUBSCRIPTION_REVOKED を送信
暗い机の上に2台のスマートフォンが並び、サブスクの支払い画面を表示し、その間に返されたコインの小さな山があり、App Store と Google Play における全額返金と日割り返金の違いを表しています

開発者がつまずく制限

いくつかの硬い境界が人を引っかけ、そのどれもが順調な経路には存在しません。

  • three years より古い注文はまったく返金できません。
  • 部分返金は March 2018 より後に行われた注文にのみ有効で、有料アプリの購入には決して適用されません。
  • 1件の注文に複数の部分返金を重ねられますが、注文合計に達したりそれを超えたりすることはできません。
  • 一度発行した返金は取り消せません。

Google Play は通常1日以内に返金の判断を返しますが、最大で4日かかることもあります。返金があなた自身のアクセス制御に反映される必要があるときは、その遅れを見込んでおきましょう。

サブスクの返金が実際にあなたにいくらかかるか

返金される課金が請求書のすべてであることは決してありません。サブスクの注文が提供された瞬間、あなたはすでにそれに実際のお金を費やしています。計算、モデルの API 呼び出し、ストレージ、そしてその期間に紐づく支払いです。返金は販売を返します。提供のために費やしたものは返しません。サブスクでは、損失の形はあなたがどの返金を発行するかによって決まります。

全額か日割りかは、お金の判断

Google Play での全額返金は現在の期間まるごとを返すので、あなたはその期間の売上をまるごと失う一方で、その期間にすでに負担したコストはすべて抱えたままです。日割り返金は未使用の一切れだけを返すので、顧客が実際に持っていた分の売上は保てます。顧客が 10 ドルのプランで月の期間の 60% を過ぎているなら、全額返金はあなたに 10 ドルまるごとのコストをかけ、日割り返金は未使用の 40% にあたるおよそ 4 ドルのコストです。Apple もサブスクの返金額を決めるとき、自分の側で同じ経過時間のロジックを適用します。

返金の種類顧客が取り戻すものあなたが保つもの
全額返金現在の期間まるごと、10.00この期間からは何も残らない
日割り返金未使用の 40%、およそ 4.00使用済みの 60%、およそ 6.00

決して戻ってこないコスト

あなたがどの返金を発行しても、その期間の下流のコストは消えています。あなたが支払ったモデルの API 呼び出し、レンダリングした動画、確保したストレージ、すでに送ったクリエイターへの支払い、そのどれもサブスクの返金が完了しても元に戻りません。顧客が実際に使った分に基づいて返金額を決め、彼らがどれだけ前に登録したかで決してはいけません。経過時間はコストではなく、どちらのストアもそれをコストとして扱わないからです。そして August 3, 2026 以降、Google Play のサブスク課金があなたの発行する返金ではなく銀行のチャージバックで終わった場合、あなたは銀行のチャージバック手数料も負担します。先にあなたが返金を認めれば、それは避けられます。

人が見張らずにサブスクの返金を処理する方法

これらのどれも、誰かがダッシュボードを見るのを待つべきではありません。通知は時間を問わず届き、アクセスは返金が着地した瞬間に切り替わるべきで、翌朝ではありません。

結果を読み取り、両方のストアでアクセスを取り消す

App Store では REFUND、REFUND_DECLINED、REFUND_REVERSED を待ち受け、revocationDate と autoRenewStatus を使ってアクセスを自動で終了または復元します。Google Play では SUBSCRIPTION_REVOKED と無効化された購入のシグナルを待ち受け、同じことをします。これが RefundHalt があなたのために動かす配管です。通知が入り、アカウントが照合され、アクセスが切り替わり、ループに人はいません。

争いの前に証拠を用意しておく

実際にあなたの入力を求める狭い窓、消耗型アイテムに対する Apple の 12 時間の CONSUMPTION_REQUEST と Google Play の 24 時間のチャージバック審査は、証拠がすでに存在する場合にのみ役立ちます。すべての購入にアカウント識別子を付け、Apple では appAccountToken の UUID を、Google Play では 64 characters 以下のハッシュ化した setObfuscatedAccountId を付け、各有料期間が何を提供したかを記録しましょう。そうすればトークンが届いたとき、ケースはすでに構築済みで、窓の中で回答するのは機械の仕事であり、あわてて対応することではありません。

よくある質問

サブスクの返金は一回限りの購入の返金と違いますか?
はい。一回限りの購入は、あなたが返す単一の注文です。サブスクは有効な権利が紐づいた注文の連なりなので、サブスクの返金は1つの請求期間に作用し、さらにサブスクが動き続けるかどうかも決めます。App Store と Google Play のどちらでも、サブスクの注文を返金するとサブスクは解約されアクセスは終了し、期間全体を返すか未使用分だけを返すかを選べることが多いです。
開発者は App Store のサブスク返金を直接発行できますか?
いいえ。App Store のサブスク返金は Apple が決定します。顧客が reportaproblem.apple.com で申請し、Apple が裁定を下し、あなたは REFUND、REFUND_DECLINED、REFUND_REVERSED のいずれかの通知で結果を知ります。あなたが提供できる唯一の入力は GRANT_PRORATED のような refundPreference で、Apple はそれを決定ではなく希望として扱います。
Google Play で日割りのサブスク返金を発行するには?
revocationContext を proratedRefund に設定して purchases.subscriptionsv2.revoke を呼び出します。Google Play はサブスクを終了し、残りの未使用の権利期間だけを返し、その後 SUBSCRIPTION_REVOKED 通知を送ります。代わりに fullRefund を渡すと現在の期間全体を返します。古い取り消しメソッドは全額返金しかできませんでした。
なぜ私の Google Play の返金はサブスクを解約しなかったのですか?
連なりの中の古い注文を返金したからです。Google Play では、最新の注文を返金するとサブスクは即座に削除され今後の更新が取り消されますが、古い注文を返金するとその期間は返金されてもサブスクは有効なままです。orders.refund の revoke パラメータは注文が最新のときにのみ取り消すので、有効なサブスクを終了するには purchases.subscriptionsv2.revoke を使います。
サブスクの注文はどこまで遡って返金できますか?
Google Play では、three years より古い注文は返金できません。部分返金は March 2018 より後に行われた注文にのみ有効で有料アプリには決して適用されず、一度発行した返金は取り消せません。App Store では、Apple は購入から最大 90 days まで顧客の返金申請を受理し、それぞれを自ら判断します。

出典と参考資料

RefundHalt

App Store と Google Play の返金を自動処理

続きを読む

次の返金リクエストは、すでに向かってきています。

異議を申し立てられなかった返金について、もう 1 通のサポートメールを読む時間で RefundHalt を設定できます。