Method: purchases.products.get
Stay organized with collections
Save and categorize content based on your preferences.
Checks the purchase and consumption status of an inapp item.
HTTP request
GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}
The URL uses gRPC Transcoding
syntax.
Path parameters
Parameters |
packageName
|
string
The package name of the application the inapp product was sold in (for example, 'com.some.thing').
|
productId
|
string
The inapp product SKU (for example, 'com.some.thing.inapp1').
|
token
|
string
The token provided to the user's device when the inapp product was purchased.
|
Request body
The request body must be empty.
Response body
If successful, the response body contains an instance of ProductPurchase
.
Sample
The following is a sample request:
curl
\
-
X
GET
\
'h
tt
ps
:
//androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/products/exampleSKU/tokens/exampleToken' \
-
H
'Accep
t
:
applica
t
io
n
/jso
n
'
The following is a sample response:
{
"kind"
:
"androidpublisher#productPurchase"
,
"purchaseTimeMillis"
:
"1678886400000"
,
"purchaseState"
:
0
,
"consumptionState"
:
0
,
"developerPayload"
:
"sample developer payload"
,
"orderId"
:
"GPA.1234-5678-9012-34567"
,
"purchaseType"
:
0
,
"acknowledgementState"
:
0
,
"productId"
:
"com.example.app.productId"
,
"purchaseToken"
:
"purchase token"
,
"quantity"
:
1
,
"refundableQuantity"
:
1
,
"regionCode"
:
"US"
,
"obfuscatedExternalAccountId"
:
"obfuscated external account id"
,
"obfuscatedExternalProfileId"
:
"obfuscated external profile id"
}
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 checks the purchase and consumption status of an in-app product.\u003c/p\u003e\n"],["\u003cp\u003eIt requires an HTTP GET request to a specific URL with the package name, product ID, and purchase token.\u003c/p\u003e\n"],["\u003cp\u003eThe request body must be empty, and the response provides details about the product purchase.\u003c/p\u003e\n"],["\u003cp\u003eThis functionality requires authorization with the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e scope.\u003c/p\u003e\n"]]],["This document outlines the process to check the status of an in-app purchase. It uses a `GET` HTTP request to a specific URL, structured with `packageName`, `productId`, and `token` as path parameters. The request body must be empty. A successful request returns a `ProductPurchase` instance in the response body. The operation requires the `https://www.googleapis.com/auth/androidpublisher` OAuth scope for authorization. It includes instructions to obtain a purchase status.\n"],null,["# Method: purchases.products.get\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\nChecks the purchase and consumption status of an inapp item.\n\n### HTTP request\n\n`GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}`\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 the inapp product was sold in (for example, 'com.some.thing'). |\n| `productId` | `string` The inapp product SKU (for example, 'com.some.thing.inapp1'). |\n| `token` | `string` The token provided to the user's device when the inapp product was purchased. |\n\n### Request body\n\nThe request body must be empty.\n\n### Response body\n\nIf successful, the response body contains an instance of [ProductPurchase](/android-publisher/api-ref/rest/v3/purchases.products#ProductPurchase).\n\n### Sample\n\nThe following is a sample request: \n\n```json\ncurl \\\n -X GET \\\n 'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/products/exampleSKU/tokens/exampleToken' \\\n -H 'Accept: application/json'\n```\n\nThe following is a sample response: \n\n```json\n{\n \"kind\": \"androidpublisher#productPurchase\",\n \"purchaseTimeMillis\": \"1678886400000\",\n \"purchaseState\": 0,\n \"consumptionState\": 0,\n \"developerPayload\": \"sample developer payload\",\n \"orderId\": \"GPA.1234-5678-9012-34567\",\n \"purchaseType\": 0,\n \"acknowledgementState\": 0,\n \"productId\": \"com.example.app.productId\",\n \"purchaseToken\": \"purchase token\",\n \"quantity\": 1,\n \"refundableQuantity\": 1,\n \"regionCode\": \"US\",\n \"obfuscatedExternalAccountId\": \"obfuscated external account id\",\n \"obfuscatedExternalProfileId\": \"obfuscated external profile id\"\n}\n```\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`"]]