Method: purchases.subscriptions.refund
Stay organized with collections
Save and categorize content based on your preferences.
Deprecated: Use orders.refund instead. Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.
HTTP request
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund
The URL uses gRPC Transcoding
syntax.
Path parameters
Parameters |
packageName
|
string
The package name of the application for which this subscription was purchased (for example, 'com.some.thing').
|
subscriptionId
|
string
"The purchased subscription ID (for example, 'monthly001').
|
token
|
string
The token provided to the user's device when the subscription was purchased.
|
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.myapp/purchases/subscriptions/monthly.premium.plan/tokens/abcdefghijklmnopqrstuvwxyz1234567890:refund' \
-
H
'Accep
t
:
applica
t
io
n
/jso
n
'
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\u003eRefunds a user's subscription purchase, keeping the subscription active until its expiration and allowing it to continue recurring.\u003c/p\u003e\n"],["\u003cp\u003eThe request is made using a \u003ccode\u003ePOST\u003c/code\u003e request to a specific URL with path parameters for package name, subscription ID, and purchase token.\u003c/p\u003e\n"],["\u003cp\u003eAn empty request body is required, and a successful response will also be empty.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e OAuth scope is necessary for authorization.\u003c/p\u003e\n"]]],["This document details how to refund a user's subscription purchase via a `POST` HTTP request to a specific URL. The URL requires three path parameters: `packageName`, `subscriptionId`, and `token`. The request body must be empty. A successful request results in an empty response body. The user's subscription remains valid until it naturally expires. This process requires authorization via the `https://www.googleapis.com/auth/androidpublisher` OAuth scope.\n"],null,["# Method: purchases.subscriptions.refund\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\n| This item is deprecated!\nDeprecated: Use orders.refund instead. Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.\n\n### HTTP request\n\n`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}: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 was purchased (for example, 'com.some.thing'). |\n| `subscriptionId` | `string` \"The purchased subscription ID (for example, 'monthly001'). |\n| `token` | `string` The token provided to the user's device when the subscription was purchased. |\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 -X POST \\\n 'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.myapp/purchases/subscriptions/monthly.premium.plan/tokens/abcdefghijklmnopqrstuvwxyz1234567890:refund' \\\n -H 'Accept: application/json'\n```\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`"]]