Method: purchases.subscriptions.get
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
지원 중단됨: 대신 purchases.subscriptionsv2.get을 사용하세요. 사용자의 정기 결제 구매가 유효한지 확인하고 만료 시간을 반환합니다.
HTTP 요청
GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}
URL은 gRPC 트랜스코딩 문법을 사용합니다.
경로 매개변수
매개변수 |
packageName |
string
이 정기 결제를 구매한 애플리케이션의 패키지 이름입니다 (예: 'com.some.thing').
|
subscriptionId |
string
구매한 정기 결제 ID입니다 (예: 'monthly001').
|
token |
string
정기 결제를 구매했을 때 사용자 기기에 제공된 토큰입니다.
|
응답 본문
성공한 경우 응답 본문에 SubscriptionPurchase
의 인스턴스가 포함됩니다.
샘플
다음은 샘플 요청입니다.
curl -X GET \
'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/subscriptions/monthly.premium/tokens/abcdefghijklmnopqrstuvwxyz.0123456789' \
-H 'Accept: application/json'
다음은 샘플 응답입니다.
{
"kind": "androidpublisher#subscriptionPurchase",
"startTimeMillis": "1678886400000",
"expiryTimeMillis": "1710470400000",
"autoRenewing": true,
"priceCurrencyCode": "USD",
"priceAmountMicros": "9990000",
"introductoryPriceInfo": {
"introductoryPriceCurrencyCode": "USD",
"introductoryPriceAmountMicros": "4990000",
"introductoryPricePeriod": "P1M",
"introductoryPriceCycles": 1
},
"countryCode": "US",
"developerPayload": "{\"userId\": \"user12345\", \"source\": \"app-promo\"}",
"paymentState": 1,
"cancelReason": 0,
"userCancellationTimeMillis": "1709251200000",
"cancelSurveyResult": {
"cancelSurveyReason": 3,
"userInputCancelReason": null
},
"orderId": "GPA.3344-5566-7788-99001",
"linkedPurchaseToken": null,
"purchaseType": 0,
"priceChange": null,
"profileName": "Jane Doe",
"emailAddress": "jane.doe@example.com",
"givenName": "Jane",
"familyName": "Doe",
"profileId": "109876543210987654321",
"acknowledgementState": 1,
"externalAccountId": "user-jane-doe-app-id",
"promotionType": 1,
"promotionCode": "WELCOME20",
"obfuscatedExternalAccountId": "obfUaCcOunTId123",
"obfuscatedExternalProfileId": "obfPrOfiLeId456",
"autoResumeTimeMillis": null
}
승인 범위
다음 OAuth 범위가 필요합니다.
https://www.googleapis.com/auth/androidpublisher
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-07-26(UTC)
[null,null,["최종 업데이트: 2025-07-26(UTC)"],[[["\u003cp\u003eVerifies the validity of a user's subscription purchase and provides the expiry time.\u003c/p\u003e\n"],["\u003cp\u003eRequires the package name, subscription ID, and purchase token to validate the subscription.\u003c/p\u003e\n"],["\u003cp\u003eUses an HTTP GET request and requires authorization with the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e scope.\u003c/p\u003e\n"],["\u003cp\u003eReturns a \u003ccode\u003eSubscriptionPurchase\u003c/code\u003e object containing subscription details if the purchase is valid.\u003c/p\u003e\n"]]],["The core function validates a user's subscription purchase and provides its expiry time. It uses a `GET` HTTP request to a specific URL, incorporating parameters for `packageName`, `subscriptionId`, and `token`. The request body should be empty. A successful response returns a `SubscriptionPurchase` instance. Authorization requires the `https://www.googleapis.com/auth/androidpublisher` OAuth scope. This process verifies the validity of subscription data using a predefined request structure and security measures.\n"],null,["# Method: purchases.subscriptions.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\n| This item is deprecated!\nDeprecated: Use purchases.subscriptionsv2.get instead. Checks whether a user's subscription purchase is valid and returns its expiry time.\n\n### HTTP request\n\n`GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/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 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 contains an instance of [SubscriptionPurchase](/android-publisher/api-ref/rest/v3/purchases.subscriptions#SubscriptionPurchase).\n\n### Sample\n\nThe following is a sample request: \n\n```json\ncurl -X GET \\\n 'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/subscriptions/monthly.premium/tokens/abcdefghijklmnopqrstuvwxyz.0123456789' \\\n -H 'Accept: application/json'\n```\n\nThe following is a sample response: \n\n```json\n{\n \"kind\": \"androidpublisher#subscriptionPurchase\",\n \"startTimeMillis\": \"1678886400000\",\n \"expiryTimeMillis\": \"1710470400000\",\n \"autoRenewing\": true,\n \"priceCurrencyCode\": \"USD\",\n \"priceAmountMicros\": \"9990000\",\n \"introductoryPriceInfo\": {\n \"introductoryPriceCurrencyCode\": \"USD\",\n \"introductoryPriceAmountMicros\": \"4990000\",\n \"introductoryPricePeriod\": \"P1M\",\n \"introductoryPriceCycles\": 1\n },\n \"countryCode\": \"US\",\n \"developerPayload\": \"{\\\"userId\\\": \\\"user12345\\\", \\\"source\\\": \\\"app-promo\\\"}\",\n \"paymentState\": 1,\n \"cancelReason\": 0,\n \"userCancellationTimeMillis\": \"1709251200000\",\n \"cancelSurveyResult\": {\n \"cancelSurveyReason\": 3,\n \"userInputCancelReason\": null\n },\n \"orderId\": \"GPA.3344-5566-7788-99001\",\n \"linkedPurchaseToken\": null,\n \"purchaseType\": 0,\n \"priceChange\": null,\n \"profileName\": \"Jane Doe\",\n \"emailAddress\": \"jane.doe@example.com\",\n \"givenName\": \"Jane\",\n \"familyName\": \"Doe\",\n \"profileId\": \"109876543210987654321\",\n \"acknowledgementState\": 1,\n \"externalAccountId\": \"user-jane-doe-app-id\",\n \"promotionType\": 1,\n \"promotionCode\": \"WELCOME20\",\n \"obfuscatedExternalAccountId\": \"obfUaCcOunTId123\",\n \"obfuscatedExternalProfileId\": \"obfPrOfiLeId456\",\n \"autoResumeTimeMillis\": null\n}\n```\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`"]]