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 \
'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/products/exampleSKU/tokens/exampleToken' \
-H 'Accept: application/json'
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`"]]