Method: purchases.subscriptions.defer
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Menunda pembelian langganan pengguna hingga waktu habis masa berlaku tertentu pada masa mendatang.
Permintaan HTTP
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer
URL menggunakan sintaksis gRPC Transcoding.
Parameter jalur
Parameter |
packageName |
string
Nama paket aplikasi yang langganannya ini dibeli (misalnya, 'com.some.thing').
|
subscriptionId |
string
ID langganan yang dibeli (misalnya, 'monthly001').
|
token |
string
Token yang diberikan ke perangkat pengguna saat langganan dibeli.
|
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Kolom |
deferralInfo |
object (SubscriptionDeferralInfo )
Informasi tentang waktu habis masa berlaku yang baru dan diinginkan untuk langganan.
|
Isi respons
Respons untuk purchases.subscriptions.defer API.
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi JSON |
{
"newExpiryTimeMillis": string
} |
Kolom |
newExpiryTimeMillis |
string (int64 format)
Waktu habis masa berlaku yang baru untuk langganan dalam milidetik sejak Epoch.
|
Contoh
Berikut adalah contoh permintaan:
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'
Berikut adalah contoh respons:
{
"newExpiryTimeMillis": "1776004800000"
}
Cakupan otorisasi
Memerlukan cakupan OAuth berikut:
https://www.googleapis.com/auth/androidpublisher
SubscriptionDeferralInfo
SubscriptionDeferralInfo berisi data yang diperlukan untuk menunda pembelian langganan hingga waktu habis masa berlaku pada masa mendatang.
Representasi JSON |
{
"expectedExpiryTimeMillis": string,
"desiredExpiryTimeMillis": string
} |
Kolom |
expectedExpiryTimeMillis |
string (int64 format)
Perkiraan waktu habis masa berlaku untuk langganan. Jika waktu habis masa berlaku saat ini untuk langganan bukan nilai yang ditentukan di sini, penundaan tidak akan terjadi.
|
desiredExpiryTimeMillis |
string (int64 format)
Waktu habis masa berlaku berikutnya yang diinginkan untuk ditetapkan ke langganan, dalam milidetik sejak Epoch. Waktu yang diberikan harus lebih lambat/lebih besar dari waktu habis masa berlaku untuk langganan.
|
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-26 UTC."],[[["\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. |"]]