Method: purchases.subscriptions.defer
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
HTTP 请求
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer
网址采用 gRPC 转码语法。
路径参数
参数 |
packageName |
string
购买相应订阅所对应的应用的软件包名称(例如:“com.some.thing”)。
|
subscriptionId |
string
所购买订阅的 ID(例如“monthly001”)。
|
token |
string
在用户购买订阅时向用户设备提供的令牌。
|
请求正文
请求正文中包含结构如下的数据:
字段 |
deferralInfo |
object (SubscriptionDeferralInfo )
要为相应订阅设置的新到期时间的相关信息。
|
响应正文
针对 purchases.subscriptions.defer API 的响应。
如果成功,响应正文将包含结构如下的数据:
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)
要为订阅分配的下一个预期到期时间,以自纪元以来的毫秒数表示。指定的时间必须晚于相应订阅的当前到期时间。
|
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\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. |"]]