Method: purchases.subscriptions.defer
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
خرید اشتراک کاربر را تا زمان انقضای مشخصی در آینده به تعویق میاندازد.
درخواست HTTP
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer
URL از دستور GRPC Transcoding استفاده می کند.
پارامترهای مسیر
پارامترها |
---|
packageName | string نام بسته برنامه ای که این اشتراک برای آن خریداری شده است (به عنوان مثال، 'com.some.thing'). |
subscriptionId | string شناسه اشتراک خریداری شده (به عنوان مثال، 'monthly001'). |
token | string رمز ارائه شده به دستگاه کاربر هنگام خرید اشتراک. |
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
فیلدها |
---|
deferralInfo | object ( SubscriptionDeferralInfo ) اطلاعات مربوط به زمان انقضای جدید مورد نظر برای اشتراک. |
بدن پاسخگو
پاسخ برای API buys.subscriptions.defer.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{
"newExpiryTimeMillis": string
} |
فیلدها |
---|
newExpiryTimeMillis | string ( int64 format) زمان انقضای جدید اشتراک بر حسب میلی ثانیه از دوران. |
نمونه
نمونه درخواست زیر در زیر آمده است:
curl -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"deferralInfo": {
"desiredExpiryTimeMillis": "1735689600000",
"expectedExpiryTimeMillis": "1704067200000"
}
}' \
'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.myapp/purchases/subscriptions/monthly.premium.v1/tokens/aBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZ.1234567890:defer'
نمونه پاسخ زیر است:
{
"newExpiryTimeMillis": "1776004800000"
}
محدوده مجوز
به محدوده OAuth زیر نیاز دارد:
-
https://www.googleapis.com/auth/androidpublisher
SubscriptionDeferralInfo
یک SubscriptionDeferralInfo حاوی اطلاعات مورد نیاز برای به تعویق انداختن خرید اشتراک به زمان انقضای آینده است.
نمایندگی JSON |
---|
{
"expectedExpiryTimeMillis": string,
"desiredExpiryTimeMillis": string
} |
فیلدها |
---|
expectedExpiryTimeMillis | string ( int64 format) زمان انقضای مورد انتظار برای اشتراک. اگر زمان انقضای فعلی اشتراک با مقدار مشخص شده در اینجا نباشد، به تعویق افتادن رخ نخواهد داد. |
desiredExpiryTimeMillis | string ( int64 format) زمان انقضای بعدی مورد نظر برای تخصیص به اشتراک، بر حسب میلی ثانیه از زمان دوره. زمان داده شده باید دیرتر/بیشتر از زمان انقضای فعلی اشتراک باشد. |
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eDefers a user's subscription purchase to a specified future expiration time using the \u003ccode\u003epurchases.subscriptions.defer\u003c/code\u003e API.\u003c/p\u003e\n"],["\u003cp\u003eRequires the \u003ccode\u003epackageName\u003c/code\u003e, \u003ccode\u003esubscriptionId\u003c/code\u003e, and purchase \u003ccode\u003etoken\u003c/code\u003e as path parameters for the HTTP request.\u003c/p\u003e\n"],["\u003cp\u003eThe request body includes \u003ccode\u003edeferralInfo\u003c/code\u003e containing the \u003ccode\u003eexpectedExpiryTimeMillis\u003c/code\u003e and the \u003ccode\u003edesiredExpiryTimeMillis\u003c/code\u003e for the subscription.\u003c/p\u003e\n"],["\u003cp\u003eSuccessful responses provide the \u003ccode\u003enewExpiryTimeMillis\u003c/code\u003e for the deferred subscription.\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 outlines the process of deferring a user's subscription purchase using a `POST` request to the specified URL, including `packageName`, `subscriptionId`, and `token` as path parameters. The request body, containing a `deferralInfo` object, specifies the `expectedExpiryTimeMillis` and `desiredExpiryTimeMillis`. Successful deferrals return a response with the `newExpiryTimeMillis`. This process requires `https://www.googleapis.com/auth/androidpublisher` authorization scope.\n"],null,["# Method: purchases.subscriptions.defer\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.SubscriptionPurchasesDeferResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [SubscriptionDeferralInfo](#SubscriptionDeferralInfo)\n - [JSON representation](#SubscriptionDeferralInfo.SCHEMA_REPRESENTATION)\n- [Try it!](#try-it)\n\nDefers a user's subscription purchase until a specified future expiration time.\n\n### HTTP request\n\n`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer`\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 contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"deferralInfo\": { object (/android-publisher/api-ref/rest/v3/purchases.subscriptions/defer#SubscriptionDeferralInfo) } } ``` |\n\n| Fields ||\n|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `deferralInfo` | `object (`[SubscriptionDeferralInfo](/android-publisher/api-ref/rest/v3/purchases.subscriptions/defer#SubscriptionDeferralInfo)`)` The information about the new desired expiry time for the subscription. |\n\n### Response body\n\nResponse for the purchases.subscriptions.defer API.\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|-------------------------------------------|\n| ``` { \"newExpiryTimeMillis\": string } ``` |\n\n| Fields ||\n|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `newExpiryTimeMillis` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The new expiry time for the subscription in milliseconds since the Epoch. |\n\n### Sample\n\nThe following is a sample request: \n\n```json\ncurl -X POST \\\n -H \"Accept: application/json\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"deferralInfo\": {\n \"desiredExpiryTimeMillis\": \"1735689600000\",\n \"expectedExpiryTimeMillis\": \"1704067200000\"\n }\n }' \\\n 'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.myapp/purchases/subscriptions/monthly.premium.v1/tokens/aBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZ.1234567890:defer'\n```\n\nThe following is a sample response: \n\n```json\n{\n \"newExpiryTimeMillis\": \"1776004800000\"\n}\n```\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`\n\nSubscriptionDeferralInfo\n------------------------\n\nA SubscriptionDeferralInfo contains the data needed to defer a subscription purchase to a future expiry time.\n\n| JSON representation |\n|-----------------------------------------------------------------------------------|\n| ``` { \"expectedExpiryTimeMillis\": string, \"desiredExpiryTimeMillis\": string } ``` |\n\n| Fields ||\n|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `expectedExpiryTimeMillis` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The expected expiry time for the subscription. If the current expiry time for the subscription is not the value specified here, the deferral will not occur. |\n| `desiredExpiryTimeMillis` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The desired next expiry time to assign to the subscription, in milliseconds since the Epoch. The given time must be later/greater than the current expiry time for the subscription. |"]]