Method: purchases.subscriptions.cancel
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Anuluje zakup subskrypcji przez użytkownika. Subskrypcja pozostaje ważna do czasu wygaśnięcia.
Żądanie HTTP
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel
Adres URL używa składni transkodowania gRPC.
Parametry ścieżki
Parametry |
packageName |
string
Nazwa pakietu aplikacji, w której kupiono ten abonament (np. „com.some.thing”).
|
subscriptionId |
string
Uwaga: od 21 maja 2025 r. identyfikator subscriptionId nie jest wymagany i nie jest zalecany w przypadku subskrypcji z dodatkami. Identyfikator zakupionej subskrypcji (np. „monthly001”).
|
token |
string
Token przekazany na urządzenie użytkownika w momencie zakupu subskrypcji.
|
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Pola |
cancellationType |
enum (CancellationType )
Opcjonalnie. Typ anulowania zakupionej subskrypcji. Pamiętaj, że to pole jest obsługiwane tylko w żądaniu HTTP. Nie jest ona dostępna w bibliotekach klienta.
|
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi jest pusta.
Przykład
Oto przykładowa prośba:
curl -X POST \
-H "Accept: application/json" \
"https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/subscriptions/monthly.premium.plan/tokens/EXAMPLE_TOKEN_STRING_12345:cancel"
Zakresy autoryzacji
Wymaga następującego zakresu OAuth:
https://www.googleapis.com/auth/androidpublisher
CancellationType
Typ anulowania, o który prosi deweloper.
Wartości w polu enum |
CANCELLATION_TYPE_UNSPECIFIED |
Nieokreślony typ anulowania. |
USER_REQUESTED_STOP_RENEWALS |
anulowanie zostało zgłoszone przez użytkownika i subskrypcję można przywrócić; Spowoduje to tylko anulowanie następnego odnowienia subskrypcji. W przypadku subskrypcji ratalnej użytkownicy muszą dokończyć okres zobowiązania. Więcej informacji o odnowieniach i płatnościach znajdziesz na stronie https://developer.android.com/google/play/billing/subscriptions#installments. |
DEVELOPER_REQUESTED_STOP_PAYMENTS |
Anulowanie zostało zgłoszone przez dewelopera i nie można przywrócić subskrypcji. Spowoduje to anulowanie następnej płatności za subskrypcję. W przypadku subskrypcji ratalnej użytkownicy nie będą musieli płacić kolejnej raty ani kończyć okresu zobowiązania. Więcej informacji o odnowieniach i płatnościach znajdziesz na stronie https://developer.android.com/google/play/billing/subscriptions#installments. Jest to zachowanie domyślne, gdy nie określono typu anulowania. |
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-26 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-26 UTC."],[[["\u003cp\u003eCancels a user's subscription purchase, but the subscription remains valid until its expiration time.\u003c/p\u003e\n"],["\u003cp\u003eRequires the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e OAuth scope for authorization.\u003c/p\u003e\n"],["\u003cp\u003eUses a \u003ccode\u003ePOST\u003c/code\u003e request to the specified URL with the package name, subscription ID, and purchase token as path parameters.\u003c/p\u003e\n"],["\u003cp\u003eThe request body should be empty, and a successful cancellation results in an empty response body.\u003c/p\u003e\n"]]],["This document outlines the process for canceling a user's subscription via a `POST` request to the specified URL. The request requires three path parameters: `packageName`, `subscriptionId`, and `token`. The request body optionally includes the `cancellationType`, which can be `USER_REQUESTED_STOP_RENEWALS` or `DEVELOPER_REQUESTED_STOP_PAYMENTS`; default behavior is `DEVELOPER_REQUESTED_STOP_PAYMENTS`. A successful request returns an empty response body and requires the `androidpublisher` OAuth scope. It details various cancellation types.\n"],null,["# Method: purchases.subscriptions.cancel\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- [Authorization scopes](#body.aspect)\n- [CancellationType](#CancellationType)\n- [Try it!](#try-it)\n\nCancels a user's subscription purchase. The subscription remains valid until its expiration time.\n\n### HTTP request\n\n`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel`\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` Note: Since May 21, 2025, subscriptionId is not required, and not recommended for subscription with add-ons. 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| ``` { \"cancellationType\": enum (/android-publisher/api-ref/rest/v3/purchases.subscriptions/cancel#CancellationType) } ``` |\n\n| Fields ||\n|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `cancellationType` | `enum (`[CancellationType](/android-publisher/api-ref/rest/v3/purchases.subscriptions/cancel#CancellationType)`)` Optional. The type of cancellation for the purchased subscription. Note that this field is only supported in the HTTP request. It is not available in client libraries. |\n\n### Response body\n\nIf successful, the response body is empty.\n\n### Sample\n\nThe following is a sample request: \n\n```json\ncurl -X POST \\\n -H \"Accept: application/json\" \\\n \"https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/purchases/subscriptions/monthly.premium.plan/tokens/EXAMPLE_TOKEN_STRING_12345:cancel\"\n```\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`\n\nCancellationType\n----------------\n\nThe type of cancellation requested by the developer.\n\n| Enums ||\n|-------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `CANCELLATION_TYPE_UNSPECIFIED` | Cancellation type unspecified. |\n| `USER_REQUESTED_STOP_RENEWALS` | Cancellation requested by the user, and the subscription can be restored. It only stops subscription's next renewal. For an installment subscription, users still need to finish the commitment period. For more details on renewals and payments, see \u003chttps://developer.android.com/google/play/billing/subscriptions#installments\u003e |\n| `DEVELOPER_REQUESTED_STOP_PAYMENTS` | Cancellation requested by the developer, and the subscription cannot be restored. It stops the subscription's next payment. For an installment subscription, users will not need to pay the next payment and finish the commitment period. For more details on renewals and payments, see \u003chttps://developer.android.com/google/play/billing/subscriptions#installments\u003e This is the default behavior when no cancellation type is specified. |"]]