Google Play の注文は自分で返金できます。チャージバックになる前に処理すれば銀行手数料を節約できます
3 年以内の Google Play の注文なら、どれでも API 呼び出し 1 回で返金でき、その際にアクセス権を取り消すかどうかも選べます。争議がチャージバックに発展する前に自分で返金すれば、2026 年 8 月 3 日から開発者に課される銀行手数料を節約できます。以下では orders.refund の使い方を説明します。

要点
- Google Play Developer API の `orders.refund` エンドポイントを使うと、開発者は一回限りの購入や定期購入の注文を、審査なし、理由不要、顧客からの依頼も不要で直接返金できます。
- 返金と取り消しは別々の操作です。`orders.refund` は任意の `revoke` フラグを受け取ります。オフのままなら購入者はアクセスを保持し、true に設定すると Google はその項目へのアクセスを即座に終了します。
- 3 年より古い注文は Google Play Developer API では返金できません。その期間が過ぎると、その注文には二度と手が届かなくなります。
- `orders.refund` は全額返金のみを行います。定期購入に対する日割りの一部返金には、より新しい `purchases.subscriptionsv2.revoke` エンドポイントを `proratedRefund` コンテキスト付きで使う必要があります。
- 定期購入の注文を `revoke` を true にして返金すると、`SUBSCRIPTION_REVOKED` の Real-time Developer Notification がトリガーされるため、バックエンドは他の定期購入イベントと同じ方法でその取り消しを知ることができます。
- 2026 年 8 月 3 日から、チャージバックの際に Google は購入代金に銀行手数料を加えて開発者に請求します。自分で行う返金は購入代金だけを返すので、雲行きの怪しい注文は早めに返金したほうがチャージバックになるより安く済むことがあります。
- 開発者主導の返金は、あなたが完全に制御できる唯一の Google Play 返金フローです。48 時間のセルフサービス返金、サポートによる返金、無効化された購入は、いずれもあなた抜きで決められます。
顧客が争議を起こすのを待つ必要はありません。お金を返したいなら、Google Play の注文を自分で直接返金できます。API 呼び出し 1 回、あるいは Play Console で 2 クリックです。Google は理由を尋ねませんし、あなたの判断を疑いもしません。これはあなたがボタンを握る唯一の返金フローであり、争議が銀行のチャージバックへと固まる前に早めに使うことが、多くの場合もっとも安上がりな出口になります。
あなたが本当に制御できる唯一の返金フロー
Google Play 上のほとんどの返金は、あなたを通してではなく、あなたに対して起こります。48 時間以内に Google に依頼した購入者は、開発者の関与なしに自動のセルフサービス返金を受けます。サポート担当者は、発行した瞬間に確定する返金を認めることができます。銀行のチャージバックはカード保有者とその銀行の間で決まります。これらすべてにおいて、あなたは後から知る傍観者です。
開発者返金は例外です。ここでは、お金を返すと決めるのはあなた自身であり、あなた自身の都合で、あなた自身の理由に基づいて行います。それは善意のツールであり、カスタマーサービスのツールであり、そして静かに、コスト管理のツールでもあります。その挙動を正確に知ることが、これを非常ボタンから熟慮された選択へと変えます。
orders.refund が 1 回の呼び出しで行うこと
Google Play Developer API の orders.refund メソッドは、その注文が一回限りのアプリ内購入であれ定期購入の支払いであれ、単一の注文を返金します。その注文の返金パスに空の POST を送り、サービスアカウントで認証すると、成功した呼び出しは空のボディを返します。それが仕組みのすべてです。
revoke フラグが、彼らがアクセスを保持するかどうかを決める
この呼び出しがあなたに与える唯一の選択が revoke クエリフラグです。Google のリファレンスはその働きをはっきり述べています。true に設定すると、その定期購入またはアプリ内項目へのアクセスは即座に終了します。省略すれば、お金は戻り、顧客は購入したものをそのまま保持します。この 1 つのブール値が、友好的な返金ときれいな解約との違いです。
| 呼び出しの構成要素 | 値 |
|---|---|
| メソッドとパス | POST /androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund |
packageName | あなたのアプリ id、例えば com.acme.app |
orderId | 購入時に購入者へ表示される注文 id |
revoke | 任意のクエリフラグ。true はアクセスを即座に終了し、省略すると返金してアクセスはそのまま保持 |
| リクエストボディ | 空 |
| OAuth スコープ | https://www.googleapis.com/auth/androidpublisher |
既定では全額返金、日割りは定期購入のみ
orders.refund は注文金額の全額を返します。一部金額のためのフィールドはありません。定期購入の一部を返す必要があるなら、より新しい purchases.subscriptionsv2.revoke エンドポイントを使ってください。これは取り消しコンテキストを受け取り、期間の残り時間に基づいて全額返金または日割り返金のいずれかを発行できます。より古い purchases.subscriptions.revoke は全額返金のみで、それが v2 メソッドが存在する主な理由です。一回限りの注文については、2018 年 3 月より後に行われた購入は Play Console のウェブサイトから一部返金でき、有料アプリでは決してできません。

3 年の壁とその他の制限
動かせない境界は経過時間です。Google は、3 年より古い注文は返金できないとはっきり述べています。注文がその線を越えると、不服申し立ても上書きもできないため、返金は有効期限つきの判断になります。他にもいくつかの制限が、この呼び出しにできることとできないことを形づくっています。
| 制限 | 意味 |
|---|---|
| 3 年の期間上限 | 3 年より古い注文は API では返金できない |
| 全額のみ | orders.refund は注文金額の全額を返し、一部金額は決して返さない |
| 一部返金 | 定期購入は purchases.subscriptionsv2.revoke 経由、または 2018 年 3 月より後に行われた一回限りの注文は Play Console 経由で可能、有料アプリは不可 |
| 取り消し不可 | 返金を発行すると元には戻せない |
これがお金の面で何を節約してくれるか
ボタンに触れる前から、どの返金もすでに損失です。その購入に対応するために使ったお金は、返金とともには戻ってこないからです。購入者が画像を生成した、あなたのモデルに対して API 呼び出しを実行した、ストレージを消費した、あるいは第三者への支払いをトリガーしたなら、それらのコストは使われ、使われたままです。返金は、その上に乗る販売価格を誰が負担するかを決めるだけです。
自分で返金に手を伸ばす理由は、そうしなかった場合に何が起こるかにあります。Google のドキュメントは明確です。2026 年 8 月 3 日から、顧客が自分の銀行に対して請求に異議を唱えると、Google は購入代金と銀行のチャージバック手数料を開発者に転嫁します。あなたが orders.refund を通じて発行する返金は、購入代金だけを返します。したがって、すでに損失を見込んでいる注文については、自分で発行する返金はチャージバックよりちょうど銀行手数料の分だけ安く、しかも事態がエスカレートする前に案件を閉じます。
セルフ返金が他の返金フローの中でどこに位置するか
開発者返金を、あなたの口座からお金を引き出しうる他のすべての手段と並べて見ると分かりやすくなります。これらのフローのうち、あなたの意見を求めるのは 2 つだけで、あなた自身が返金を始められるのはそのうちの 1 つだけです。
| 返金フロー | 誰が決めるか | あなたの制御 |
|---|---|---|
開発者返金(orders.refund) | あなた | 完全。返すかどうか、いつ返すかを選べる |
| 48 時間セルフサービス返金 | なし。Google が自動で返金 | |
| サポート担当者による返金 | Google または Apple のサポート | なし。認められた時点で確定 |
チャージバック審査(orders.reviewrefund) | Google、あなたの証拠に基づく | 24 時間の入力ウィンドウのみ |
| Voided Purchases API | 誰も決めない、読み取り専用 | なし。すでに起きたことを読むだけ |
Google Play の注文を最初から最後まで返金する方法
Play Console から
- Play Console を開き、左メニューで注文管理を選びます。
- 注文 id または購入者の完全なメールアドレスで注文を見つけます。
- 価格の下で返金を選び、返金理由を選択します。一部返金が必要なら、モバイルアプリではなくウェブサイトを使ってください。
API から
androidpublisherスコープと Play Console での財務権限を持つサービスアカウントを認証します。- その注文の返金パスに空の POST を送り、アクセスも断ちたい場合にのみ
revoke=trueを追加します。 - 空の成功レスポンスを処理し、定期購入を取り消した場合は、
SUBSCRIPTION_REVOKED通知がバックエンドに届くことを見込んでおきます。
開発者返金は小さくて鋭い道具です。顧客を丸く収めるきれいな方法を与え、どのみち失うはずだった注文についてはチャージバックより安い出口を与えてくれます。唯一のルールは、意図を持って使い、revoke フラグを本当に意図したとおりに設定することです。
よくある質問
- 顧客のアクセスを取り消さずに Google Play の注文を返金できますか。
- できます。`orders.refund` を呼び出し、`revoke` フラグはオフのままにします。購入者はお金を取り戻し、その項目へのアクセスを保持します。その購入へのアクセスも即座に終了させたい場合にのみ、`revoke` を true に設定します。
- Google Play では、どれくらい前の注文まで返金できますか。
- 購入日から 3 年までです。Google Play Developer API は、3 年より古い注文は返金できないと述べており、その期間が過ぎると上書きはできません。
- orders.refund は一部返金に対応していますか。
- いいえ。`orders.refund` は注文の全額のみを発行します。定期購入の一部返金または日割り返金には、`proratedRefund` コンテキスト付きの `purchases.subscriptionsv2.revoke` を使うか、対象となる一回限りの注文について Play Console から一部返金を発行してください。
- 返金で定期購入を取り消したとき、バックエンドはそれを知ることができますか。
- はい。定期購入の注文を `revoke` を true にして返金すると、`SUBSCRIPTION_REVOKED` の Real-time Developer Notification がトリガーされるため、サーバーは他の定期購入イベントと同じ方法で権利を更新できます。
- 注文を自分で返金するのは、チャージバックにさせるより良いですか。
- 純粋なコストの面では、多くの場合そうです。2026 年 8 月 3 日から、チャージバックは開発者に購入代金と銀行手数料を負担させますが、自分で発行する返金は購入代金だけを返します。ある注文が明らかに争議へ向かっているなら、早めに返金すれば追加の銀行手数料を避けられます。
出典と参考資料
- Google Play Developer API: Method orders.refund
- Android Developers: Manage subscriptions and one-time purchases
- Play Console Help: Manage your app's orders and issue refunds
- Google Play Developer API: Method purchases.subscriptionsv2.revoke
- Google Play Console Help: refund protection and chargeback cost responsibility
- Google Play Help: Learn about Google Play refund policies
RefundHalt
App Store と Google Play の返金を自動処理
続きを読む
Apple の Send Consumption Information が求める項目は十二個から五個になりました。以下で一つずつ解説します
顧客が Apple に返金を申請するとき、Send Consumption Information のペイロードがあなたの返答になります。Apple はこれを十二個の項目から五個へ、必須三個と任意二個に削減しました。以下では各項目、それぞれが受け付ける値、そして送信すべき 12 時間の猶予について説明します。
顧客の App Store 返金履歴をまるごと返すエンドポイントが一つあり、それが何を返すのかを解説する
Apple の Get Refund History エンドポイントは、顧客の完全な App Store 返金履歴を署名付きトランザクションとして返します。すべてのフィールド、revision トークンによるページングの仕組み、なぜアプリ単位ではなく顧客単位なのか、そして見逃した返金がいくらの損失になるのかを解説します。