REST Resource: purchases.subscriptionsv2

Zasób: SubscriptionPurchaseV2

Wskazuje stan zakupu subskrypcji przez użytkownika.

Zapis JSON
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "latestOrderId": string,
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  }
}
Pola
kind

string

Ten rodzaj reprezentuje obiekt SubscriptionPurchaseV2 w usłudze androidpublisher.

regionCode

string

Kod kraju/regionu rozliczenia według normy ISO 3166-1 alfa-2 użytkownika w momencie przyznawania subskrypcji.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informacje o zakupie subskrypcji na poziomie produktu. Wszystkie elementy w ramach tego samego zakupu powinny korzystać z opcji AutoRenewingPlan lub wszystkie z abonamentem przedpłaconym.

startTime

string (Timestamp format)

Czas przyznania subskrypcji. Nie ustawiono dla oczekujących subskrypcji (subskrypcja została utworzona, ale rejestracja oczekuje na płatność).

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

subscriptionState

enum (SubscriptionState)

Bieżący stan subskrypcji.

latestOrderId

string

Identyfikator ostatniego zamówienia powiązanego z zakupem subskrypcji. W przypadku subskrypcji z automatycznym odnawianiem jest to identyfikator zamówienia rejestracji, jeśli nie zostało jeszcze odnowione, lub identyfikator ostatniego zamówienia cyklicznego (zamówienie zrealizowane, oczekujące lub odrzucone). W przypadku subskrypcji przedpłaconej jest to identyfikator zamówienia powiązany z tokenem zakupu, którego dotyczy zapytanie.

linkedPurchaseToken

string

Token zakupu starej subskrypcji, jeśli jest to jedna z tych opcji: * ponowna rejestracja anulowanej, ale jeszcze nieważnej subskrypcji, * przejście na wyższą lub niższą wersję poprzedniej subskrypcji. * Przejście z subskrypcji przedpłaconej na subskrypcję odnawianą automatycznie. * Zmień subskrypcję z automatycznego odnawiania na przedpłaconą. * Przedłużanie subskrypcji przedpłaconej.

pausedStateContext

object (PausedStateContext)

Dodatkowy kontekst dotyczący wstrzymanych subskrypcji. Widoczne tylko wtedy, gdy subskrypcja ma obecnie stan subscriptionState SUBSCRIPTION_STATE_PAUSED.

canceledStateContext

object (CanceledStateContext)

Dodatkowy kontekst związany z anulowanymi subskrypcjami. Widoczne tylko wtedy, gdy subskrypcja ma obecnie stan subscriptionState SUBSCRIPTION_STATE_CANCELED lub SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

Widoczne tylko wtedy, gdy ten zakup subskrypcji jest zakupem testowym.

acknowledgementState

enum (AcknowledgementState)

Stan potwierdzenia subskrypcji.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Identyfikator konta użytkownika w usłudze innej firmy.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

Profil użytkownika powiązany z zakupami dokonanymi za pomocą funkcji „Subskrybuj z Google”.

SubscriptionState

Potencjalne stany, w których może się znajdować subskrypcja – na przykład aktywna lub anulowana. Zakupami subskrypcji mogą być wszystkie abonamenty z automatycznym odnawianiem lub abonamenty przedpłacone.

Wartości w polu enum
SUBSCRIPTION_STATE_UNSPECIFIED Nieokreślony stan subskrypcji.
SUBSCRIPTION_STATE_PENDING Subskrypcja została utworzona, ale rejestracja oczekuje na płatność. W tym stanie wszystkie produkty oczekują na płatność.
SUBSCRIPTION_STATE_ACTIVE Subskrypcja jest aktywna. – (1) Jeśli subskrypcja jest planem odnawianym automatycznie, co najmniej 1 element jest automatycznie RenewEnabled i nie wygasł. – (2) Jeśli subskrypcja jest abonamentem przedpłaconym, co najmniej 1 produkt nie wygaśnie.
SUBSCRIPTION_STATE_PAUSED Subskrypcja została wstrzymana. Ten stan jest dostępny tylko wtedy, gdy abonament jest automatycznie odnawiany. W tym stanie wszystkie elementy są wstrzymane.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD Subskrypcja jest w okresie prolongaty. Ten stan jest dostępny tylko wtedy, gdy abonament jest automatycznie odnawiany. W tym stanie wszystkie elementy są w okresie prolongaty.
SUBSCRIPTION_STATE_ON_HOLD Subskrypcja jest wstrzymana (zawieszona). Ten stan jest dostępny tylko wtedy, gdy abonament jest automatycznie odnawiany. W tym stanie wszystkie elementy są wstrzymane.
SUBSCRIPTION_STATE_CANCELED Subskrypcja została anulowana, ale jeszcze nie wygasła. Ten stan jest dostępny tylko wtedy, gdy abonament jest automatycznie odnawiany. Wszystkie elementy mają atrybut autoRenewEnabled ustawiony na wartość Fałsz.
SUBSCRIPTION_STATE_EXPIRED Subskrypcja wygasła. Wszystkie elementy mają parametr expiryTime z przeszłości.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Oczekująca transakcja dotycząca subskrypcji została anulowana. Jeśli ten oczekujący zakup dotyczył już istniejącej subskrypcji, skorzystaj z LinkedPurchaseToken, aby poznać bieżący stan tej subskrypcji.

PausedStateContext

Informacje dotyczące subskrypcji w stanie wstrzymania.

Zapis JSON
{
  "autoResumeTime": string
}
Pola
autoResumeTime

string (Timestamp format)

Godzina, po której subskrypcja zostanie automatycznie wznowiona.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Informacje dotyczące subskrypcji w stanie SUBSCRIPTION_STATE_CANCELED lub SUBSCRIPTION_STATE_EXPIRED.

Zapis JSON
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
Pola
Pole sumy cancellation_reason. Powód anulowania subskrypcji. cancellation_reason może mieć tylko jedną z tych wartości:
userInitiatedCancellation

object (UserInitiatedCancellation)

Subskrypcja została anulowana przez użytkownika.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

Subskrypcja została anulowana przez system, na przykład z powodu problemu z płatnością.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

Subskrypcja została anulowana przez dewelopera.

replacementCancellation

object (ReplacementCancellation)

Subskrypcja została zastąpiona nową subskrypcją.

UserInitiatedCancellation

Informacje dotyczące anulowań zainicjowanych przez użytkowników.

Zapis JSON
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
Pola
cancelSurveyResult

object (CancelSurveyResult)

Informacje podane przez użytkownika podczas procesu anulowania subskrypcji (ankieta dotycząca powodów anulowania).

cancelTime

string (Timestamp format)

Godzina anulowania subskrypcji przez użytkownika. Po tym czasie użytkownik może nadal mieć dostęp do subskrypcji. Użyj wartości lineItems.expiry_time, aby określić, czy użytkownik nadal ma dostęp.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

CancelSurveyResult

Wynik ankiety dotyczącej anulowania subskrypcji, gdy użytkownik anulował subskrypcję.

Zapis JSON
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
Pola
reason

enum (CancelSurveyReason)

Powód wybrany przez użytkownika w ankiecie dotyczącej anulowania.

reasonUserInput

string

Ustawiony tylko dla CANCEL_SURVEY_REASON_OTHERS. To jest swobodna odpowiedź użytkownika na ankietę.

CancelSurveyReason

Powód wybrany przez użytkownika w ankiecie dotyczącej anulowania.

Wartości w polu enum
CANCEL_SURVEY_REASON_UNSPECIFIED Nieokreślony powód anulowania ankiety.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Niewystarczające wykorzystanie subskrypcji.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Problemy techniczne podczas korzystania z aplikacji.
CANCEL_SURVEY_REASON_FOUND_BETTER_APP Użytkownik znalazł lepszą aplikację.
CANCEL_SURVEY_REASON_OTHERS Inne powody.

SystemInitiatedCancellation

Ten typ nie zawiera pól.

Informacje dotyczące anulowań zainicjowanych przez system Google.

DeveloperInitiatedCancellation

Ten typ nie zawiera pól.

Informacje dotyczące anulowań zainicjowanych przez deweloperów.

ReplacementCancellation

Ten typ nie zawiera pól.

Informacje dotyczące anulowań powstałych w wyniku wymiany subskrypcji.

TestPurchase

Ten typ nie zawiera pól.

Określa, czy ten zakup subskrypcji jest zakupem testowym.

AcknowledgementState

Możliwe stany potwierdzenia subskrypcji.

Wartości w polu enum
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Nieokreślony stan potwierdzenia.
ACKNOWLEDGEMENT_STATE_PENDING Subskrypcja nie została jeszcze potwierdzona.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Subskrypcja została potwierdzona.

ExternalAccountIdentifiers

Identyfikator konta użytkownika w usłudze innej firmy.

Zapis JSON
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Pola
externalAccountId

string

Identyfikator konta użytkownika w usłudze innej firmy. Widoczny tylko wtedy, gdy konto zostało połączone w ramach zakupu subskrypcji.

obfuscatedExternalAccountId

string

Zaciemniona wersja identyfikatora, który jest jednoznacznie powiązany z kontem użytkownika w Twojej aplikacji. Widoczne w przypadku tych zakupów: * Jeśli połączenie konta nastąpiło w ramach zakupu subskrypcji. * Został określony przy użyciu identyfikatora https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid podczas zakupu.

obfuscatedExternalProfileId

string

Zaciemniona wersja identyfikatora, który jest jednoznacznie powiązany z profilem użytkownika w Twojej aplikacji. Widoczny tylko wtedy, gdy podczas zakupu został określony za pomocą parametru https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid.

SubscribeWithGoogleInfo

Informacje związane z zakupami dokonanymi za pomocą funkcji „Subskrybuj z Google”.

Zapis JSON
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
Pola
profileId

string

Identyfikator profilu Google użytkownika, w którym zakupiono subskrypcję.

profileName

string

Nazwa profilu użytkownika, gdy użytkownik kupił subskrypcję.

emailAddress

string

Adres e-mail użytkownika, który kupił subskrypcję.

givenName

string

Imię i nazwisko użytkownika w chwili zakupu subskrypcji.

familyName

string

Imię i nazwisko użytkownika, w którym zakupiono subskrypcję.

SubscriptionPurchaseLineItem

Informacje o zakupie subskrypcji na poziomie produktu.

Zapis JSON
{
  "productId": string,
  "expiryTime": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  }
  // End of list of possible types for union field deferred_item_change.
}
Pola
productId

string

Identyfikator kupionego produktu (np. „month001”).

expiryTime

string (Timestamp format)

Czas, w którym subskrypcja wygasła lub wygaśnie, chyba że dostęp zostanie przedłużony (np. zostanie odnowiona).

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

Pole sumy plan_type. Typ abonamentu. plan_type może mieć tylko jedną z tych wartości:
autoRenewingPlan

object (AutoRenewingPlan)

Produkt odnawia się automatycznie.

prepaidPlan

object (PrepaidPlan)

Produkt jest opłacany z góry.

offerDetails

object (OfferDetails)

Szczegóły oferty tego produktu.

Pole sumy deferred_item_change. To pole występuje, gdy element ma odroczoną zmianę. Można ją usunąć lub zastąpić. deferred_item_change może mieć tylko jedną z tych wartości:
deferredItemReplacement

object (DeferredItemReplacement)

Informacje na temat odroczonej wymiany produktu.

AutoRenewingPlan

Informacje dotyczące abonamentu z automatycznym odnawianiem.

Zapis JSON
{
  "autoRenewEnabled": boolean,
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  }
}
Pola
autoRenewEnabled

boolean

Jeśli obecnie masz włączone automatyczne odnawianie subskrypcji, np. użytkownik nie anulował subskrypcji

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Informacja o ostatniej zmianie ceny produktu od momentu rejestracji subskrypcji.

installmentDetails

object (InstallmentPlan)

Zobowiązanie na plan ratalny i informacje dotyczące stanu dotyczące abonamentu z automatycznym odnawianiem.

SubscriptionItemPriceChangeDetails

Informacje o subskrypcji związane ze zmianą ceny.

Zapis JSON
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
Pola
newPrice

object (Money)

Nowa cykliczna cena subskrypcji.

priceChangeMode

enum (PriceChangeMode)

Tryb zmiany ceny określa, jak zmienia się cena produktu w ramach subskrypcji.

priceChangeState

enum (PriceChangeState)

informować o bieżącej zmianie ceny.

expectedNewPriceChargeTime

string (Timestamp format)

Godzina odnowienia, w której zmiana ceny zacznie obowiązywać w przypadku użytkownika. Może się to zmienić(w przyszłości) w zależności od sytuacji, w której czas odnowienia się zmienia, np. przez wstrzymanie. To pole jest wypełniane tylko wtedy, gdy zmiana ceny nie została wprowadzona.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

PriceChangeMode

Tryb zmiany ceny.

Wartości w polu enum
PRICE_CHANGE_MODE_UNSPECIFIED Tryb zmiany ceny nieokreślony. Tej wartości nie należy ustawiać.
PRICE_DECREASE Czy cena subskrypcji spada.
PRICE_INCREASE Gdy cena subskrypcji wzrośnie i użytkownik będzie musiał ją zaakceptować.
OPT_OUT_PRICE_INCREASE Jeśli cena subskrypcji wzrośnie po zastosowaniu trybu rezygnacji.

PriceChangeState

Stan zmiany ceny.

Wartości w polu enum
PRICE_CHANGE_STATE_UNSPECIFIED Stan zmiany ceny nieokreślony. Nie należy używać tej wartości.
OUTSTANDING Oczekiwanie na zgodę użytkownika na zmianę ceny.
CONFIRMED Potwierdzamy, że zmiana ceny dotyczy użytkownika.
APPLIED Zmiana ceny zostanie zastosowana, co oznacza, że użytkownik zacznie płacić nową cenę.

InstallmentPlan

Informacje o planie rat.

Zapis JSON
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
Pola
initialCommittedPaymentsCount

integer

Łączna liczba płatności, do których użytkownik zobowiązał się początkowo.

subsequentCommittedPaymentsCount

integer

Łączna liczba płatności, które użytkownik zobowiązuje się zrealizować po każdym okresie zobowiązania. Brak wartości oznacza, że po początkowym zobowiązaniu abonament ratalny zostanie przełączony na zwykłą subskrypcję z automatycznym odnawianiem.

remainingCommittedPaymentsCount

integer

Łączna liczba płatności w ramach zobowiązania, które należy opłacić w tym cyklu odnowienia.

pendingCancellation

object (PendingCancellation)

Jeśli ten plan ratalny jest dostępny, oczekuje na anulowanie. Anulowanie nastąpi dopiero po dokonaniu przez użytkownika wszystkich zobowiązań.

PendingCancellation

Ten typ nie zawiera pól.

Ten wskaźnik informuje, czy wirtualny plan ratalny oczekuje na anulowanie. Anulowanie nastąpi dopiero po dokonaniu przez użytkownika wszystkich zobowiązań.

PrepaidPlan

Informacje dotyczące abonamentu przedpłaconego.

Zapis JSON
{
  "allowExtendAfterTime": string
}
Pola
allowExtendAfterTime

string (Timestamp format)

Jeśli występuje, po upływie tego czasu można doładować abonament przedpłacony. Nie będzie dostępny w przypadku wygasłych abonamentów przedpłaconych.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

OfferDetails

Informacje o szczegółach oferty związane z elementem zamówienia zakupu.

Zapis JSON
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
Pola
offerTags[]

string

Najnowsze tagi oferty powiązane z ofertą. Obejmuje on tagi odziedziczone z abonamentu podstawowego.

basePlanId

string

Identyfikator abonamentu podstawowego. Widoczne w przypadku wszystkich abonamentów podstawowych i ofert.

offerId

string

Identyfikator oferty. Widoczny tylko w przypadku ofert z rabatem.

DeferredItemReplacement

Informacje dotyczące odroczonej wymiany produktu.

Zapis JSON
{
  "productId": string
}
Pola
productId

string

Identyfikator productId zastąpi istniejący identyfikator produktu.

Metody

get

Uzyskiwanie metadanych subskrypcji

revoke

Anuluj zakup subskrypcji dla użytkownika.