Method: orders.refund
Stay organized with collections
Save and categorize content based on your preferences.
Refunds a user's subscription or in-app purchase order. Orders older than 3 years cannot be refunded.
HTTP request
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund
The URL uses gRPC Transcoding
syntax.
Path parameters
Parameters |
packageName
|
string
The package name of the application for which this subscription or in-app item was purchased (for example, 'com.some.thing').
|
orderId
|
string
The order ID provided to the user when the subscription or in-app order was purchased.
|
Query parameters
Parameters |
revoke
|
boolean
Whether to revoke the purchased item. If set to true, access to the subscription or in-app item will be terminated immediately. If the item is a recurring subscription, all future payments will also be terminated. Consumed in-app items need to be handled by developer's app. (optional).
|
Request body
The request body must be empty.
Response body
If successful, the response body is empty.
Sample
The following is a sample request:
curl
\
-
X
POST
\
'h
tt
ps
:
//androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/orders/1234567890:refund?revoke=true' \
-
H
'Accep
t
:
applica
t
io
n
/jso
n
'
\
-
H
'Au
t
horiza
t
io
n
:
Bearer
[
YOUR_ACCESS_TOKEN
]
'
Authorization scopes
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/androidpublisher
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-06-02 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-02 UTC."],[[["\u003cp\u003eThis operation refunds a user's subscription or in-app purchase order, provided the order is less than 3 years old.\u003c/p\u003e\n"],["\u003cp\u003eIt uses an HTTP POST request to the specified URL with path parameters for package name and order ID.\u003c/p\u003e\n"],["\u003cp\u003eAn optional query parameter "revoke" can be included to immediately terminate access to the purchased item.\u003c/p\u003e\n"],["\u003cp\u003eThe request body should be empty, and a successful response will also be empty.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization requires the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e OAuth scope.\u003c/p\u003e\n"]]],["This document details how to refund a user's subscription or in-app purchase via a `POST` HTTP request. The request URL requires the application's `packageName` and the `orderId` as path parameters. An optional `revoke` query parameter determines if the purchased item should be immediately revoked. The request body must be empty, and a successful response also returns an empty body. Orders over 3 years old are ineligible for refunds. This action requires the `https://www.googleapis.com/auth/androidpublisher` authorization scope.\n"],null,["# Method: orders.refund\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nRefunds a user's subscription or in-app purchase order. Orders older than 3 years cannot be refunded.\n\n### HTTP request\n\n`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|---------------|----------------------------------------------------------------------------------------------------------------------------------------|\n| `packageName` | `string` The package name of the application for which this subscription or in-app item was purchased (for example, 'com.some.thing'). |\n| `orderId` | `string` The order ID provided to the user when the subscription or in-app order was purchased. |\n\n### Query parameters\n\n| Parameters ||\n|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `revoke` | `boolean` Whether to revoke the purchased item. If set to true, access to the subscription or in-app item will be terminated immediately. If the item is a recurring subscription, all future payments will also be terminated. Consumed in-app items need to be handled by developer's app. (optional). |\n\n### Request body\n\nThe request body must be empty.\n\n### Response body\n\nIf successful, the response body is empty.\n\n### Sample\n\nThe following is a sample request: \n\n```json\ncurl \\\n -X POST \\\n 'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/orders/1234567890:refund?revoke=true' \\\n -H 'Accept: application/json' \\\n -H 'Authorization: Bearer [YOUR_ACCESS_TOKEN]'\n```\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`"]]