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 zgodny ze standardem ISO 3166-1 alfa-2 w momencie przyznania subskrypcji.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informacje na poziomie produktu dotyczące zakupu subskrypcji. Wszystkie elementy w tym samym zakupie powinny być albo wszystkie w ramach automatycznego odnawiania subskrypcji, albo wszystkie w ramach przedpłaconego Planu.

startTime

string (Timestamp format)

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

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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)

Obecny stan subskrypcji.

latestOrderId

string

Identyfikator ostatniego zamówienia powiązanego z zakupem subskrypcji. W przypadku subskrypcji odnawianej automatycznie jest to identyfikator zamówienia rejestracyjnego, jeśli nie zostało ono jeszcze odnowione, lub identyfikator ostatniego zamówienia cyklicznego (zamówienie zakończone sukcesem, zamówienie 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 ona jedna z tych sytuacji: * ponowna rejestracja anulowanej, ale jeszcze nie wygasłej subskrypcji; * przejście na wyższą lub niższą wersję usługi z poprzedniej subskrypcji. * Zmień abonament przedpłacony na odnawiane automatycznie. * Przejdź z automatycznie odnawianej subskrypcji na abonament przedpłacony. * Doładuj przedpłaconą subskrypcję.

pausedStateContext

object (PausedStateContext)

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

canceledStateContext

object (CanceledStateContext)

Dodatkowe informacje o anulowanych subskrypcjach. Widoczny tylko wtedy, gdy subskrypcja ma obecnie stan subscriptionState SUBSCRIPTION_STATE_CANCELED lub SUBSCRIPTION_STATE_expirationD.

testPurchase

object (TestPurchase)

Widoczny tylko wtedy, gdy 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 subskrypcji, np. czy jest aktywna lub anulowana. Zakupione subskrypcje mogą obejmować wszystkie plany odnawiane automatycznie lub przedpłacone.

Wartości w polu enum
SUBSCRIPTION_STATE_UNSPECIFIED Nieokreślony stan subskrypcji.
SUBSCRIPTION_STATE_PENDING Subskrypcja została utworzona, ale podczas rejestracji 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 z nich ma stan AutoRenewEnabled i nie stracił ważności. – (2) Jeśli subskrypcja jest abonamentem przedpłaconym, co najmniej jedna pozycja nie wygasła.
SUBSCRIPTION_STATE_PAUSED Subskrypcja została wstrzymana. Stan jest dostępny tylko wtedy, gdy subskrypcja jest abonamentem odnawianym automatycznie. W tym stanie wszystkie elementy są wstrzymane.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD Subskrypcja jest w okresie prolongaty. Stan jest dostępny tylko wtedy, gdy subskrypcja jest abonamentem odnawianym automatycznie. W tym stanie wszystkie produkty znajdują się w okresie prolongaty.
SUBSCRIPTION_STATE_ON_HOLD Subskrypcja jest wstrzymana (zawieszona). Stan jest dostępny tylko wtedy, gdy subskrypcja jest abonamentem odnawianym automatycznie. W tym stanie wszystkie elementy są wstrzymane.
SUBSCRIPTION_STATE_CANCELED Subskrypcja została anulowana, ale jeszcze nie wygasła. Stan jest dostępny tylko wtedy, gdy subskrypcja jest abonamentem odnawianym automatycznie. Wszystkie elementy mają wartość autoRenewEnabled ustawioną na false.
SUBSCRIPTION_STATE_EXPIRED Subskrypcja wygasła. Wszystkie produkty mają wartość expiryTime w przeszłości.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Oczekująca transakcja subskrypcji została anulowana. Jeśli ten oczekujący zakup dotyczył istniejącej subskrypcji, użyj elementulinkedPurchaseToken, aby pobrać bieżący stan tej subskrypcji.

PausedStateContext

Informacje o subskrypcji, która jest wstrzymana.

Zapis JSON
{
  "autoResumeTime": string
}
Pola
autoResumeTime

string (Timestamp format)

Godzina, o której subskrypcja zostanie automatycznie wznowiona.

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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 być 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, np. z powodu problemu z płatnościami.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

Subskrypcja została anulowana przez dewelopera.

replacementCancellation

object (ReplacementCancellation)

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

UserInitiatedCancellation

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

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

object (CancelSurveyResult)

Informacje podane przez użytkownika podczas anulowania subskrypcji (ankieta dotycząca przyczyny anulowania).

cancelTime

string (Timestamp format)

Godzina anulowania subskrypcji przez użytkownika. Po upływie tego czasu użytkownik może nadal mieć dostęp do subskrypcji. Użyj parametru lineItems.expiry_time, aby sprawdzić, czy użytkownik nadal ma dostęp.

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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 w przypadku anulowania subskrypcji przez użytkownika.

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

enum (CancelSurveyReason)

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

reasonUserInput

string

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

CancelSurveyReason

Powód wybrania 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 ma żadnych pól.

Informacje dotyczące anulowania zainicjowanych przez system Google.

DeveloperInitiatedCancellation

Ten typ nie ma żadnych pól.

Informacje dotyczące anulowania zainicjowanych przez deweloperów.

ReplacementCancellation

Ten typ nie ma żadnych pól.

Informacje dotyczące anulowania subskrypcji spowodowanych zastąpieniem subskrypcji.

TestPurchase

Ten typ nie ma żadnych pól.

Określa, czy 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 połączenie kont miało miejsce w ramach procesu zakupu subskrypcji.

obfuscatedExternalAccountId

string

Zaciemniona wersja identyfikatora, który jest jednoznacznie powiązany z kontem użytkownika w Twojej aplikacji. Widoczny w przypadku tych zakupów: * Jeśli połączenie kont miało miejsce w ramach procesu zakupu subskrypcji. * Zostały one określone za pomocą adresu https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid podczas zakupu.

obfuscatedExternalProfileId

string

Zaciemniona wersja identyfikatora, która jest w sposób unikalny powiązany z profilem użytkownika w Twojej aplikacji. Występuje tylko wtedy, gdy został podany za pomocą funkcji https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid podczas zakupu.

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 momencie zakupu subskrypcji.

profileName

string

Nazwa profilu użytkownika w momencie zakupu subskrypcji.

emailAddress

string

Adres e-mail użytkownika w momencie zakupu subskrypcji.

givenName

string

Nazwa użytkownika w momencie zakupu subskrypcji.

familyName

string

Nazwisko użytkownika w momencie zakupu subskrypcji.

SubscriptionPurchaseLineItem

Informacje na poziomie produktu dotyczące zakupu subskrypcji.

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 zakupionego produktu (np. „month001”).

expiryTime

string (Timestamp format)

Czas wygaśnięcia lub wygaśnięcia subskrypcji, chyba że dostęp zostanie przedłużony (na przykład zostanie odnowiona).

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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 być tylko jedną z tych wartości:
autoRenewingPlan

object (AutoRenewingPlan)

Produkt jest odnawiany automatycznie.

prepaidPlan

object (PrepaidPlan)

Produkt jest opłacany z góry.

offerDetails

object (OfferDetails)

Szczegóły oferty dotyczące tego produktu.

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

object (DeferredItemReplacement)

Informacje na temat odroczonej wymiany produktu.

AutoRenewingPlan

Informacje dotyczące abonamentu, który jest automatycznie odnawiany.

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

boolean

Jeśli subskrypcja jest obecnie ustawiona na automatyczne odnawianie, np. użytkownik nie ją anulował

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Informacje o ostatniej zmianie ceny produktu od momentu zarejestrowania się w subskrypcji.

installmentDetails

object (InstallmentPlan)

Zobowiązanie z abonamentem ratalnym i informacje o stanie dotyczące abonamentu odnawianego automatycznie.

SubscriptionItemPriceChangeDetails

Informacje związane ze zmianą ceny elementu subskrypcji.

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

object (Money)

Nowa cena cykliczna subskrypcji.

priceChangeMode

enum (PriceChangeMode)

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

priceChangeState

enum (PriceChangeState)

Podaj, w jakiej cenie jest obecnie zmieniona cena.

expectedNewPriceChargeTime

string (Timestamp format)

Termin odnowienia, w którym zmiana ceny zacznie obowiązywać dla użytkownika. Może się ona zmienić(w przyszłości) z powodu przesunięć czasu odnowienia, np. wstrzymania. Pole jest wypełniane tylko wtedy, gdy zmiana ceny nie została zastosowana.

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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 nigdy ustawiać.
PRICE_DECREASE jeśli cena subskrypcji spada.
PRICE_INCREASE Jeśli cena subskrypcji wzrośnie, a użytkownik będzie musiał ją zaakceptować.
OPT_OUT_PRICE_INCREASE Jeśli po włączeniu trybu rezygnacji cena subskrypcji wzrasta.

PriceChangeState

Stan zmiany ceny.

Wartości w polu enum
PRICE_CHANGE_STATE_UNSPECIFIED Nie określono stanu zmiany ceny. Tej wartości nie należy używać.
OUTSTANDING Oczekiwanie na zgodę użytkownika na zmianę ceny.
CONFIRMED Potwierdzono, że zmiana ceny nastąpi w przypadku użytkownika.
APPLIED Zmiana ceny została zastosowana, tzn. użytkownik zaczął płacić nową cenę.

InstallmentPlan

Informacje dotyczące planu 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, do których zobowiązuje się użytkownik po każdym okresie zobowiązania. Brak wartości oznacza, że po początkowym zobowiązaniem abonament zostanie przywrócony do normalnej subskrypcji automatycznego odnawiania.

remainingCommittedPaymentsCount

integer

Łączna liczba pozostałych zobowiązań do spłacenia w tym cyklu odnowienia.

pendingCancellation

object (PendingCancellation)

Jeśli występuje, ten plan ratalny oczekuje na anulowanie. Anulowanie nastąpi dopiero wtedy, gdy użytkownik zrealizuje wszystkie zobowiązania w ramach zobowiązania.

PendingCancellation

Ten typ nie ma żadnych pól.

Wskazuje ona, czy plan ratalny oczekuje na anulowanie. Anulowanie nastąpi dopiero wtedy, gdy użytkownik zrealizuje wszystkie zobowiązania w ramach zobowiązania.

PrepaidPlan

Informacje o abonamencie przedpłaconym.

Zapis JSON
{
  "allowExtendAfterTime": string
}
Pola
allowExtendAfterTime

string (Timestamp format)

Jeśli ten atrybut jest podany, jest to czas, po którym będzie można kupować doładowania w ramach abonamentu przedpłaconego. nie występuje w przypadku wygasłych abonamentów przedpłaconych,

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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

Szczegółowe informacje o ofercie związanej z elementem zamówienia umożliwiającym zakup.

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

string

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

basePlanId

string

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

offerId

string

Identyfikator oferty. Widoczne 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

Cofnąć zakup subskrypcji użytkownika.