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 typ reprezentuje obiekt SubscriptionPurchaseV2 w usłudze androidpublisher.

regionCode

string

Kod kraju lub regionu w formacie ISO 3166-1 alfa-2, który użytkownik podał w momencie przyznania subskrypcji.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informacje na poziomie produktu dotyczące zakupu subskrypcji. Produkty w ramach tego samego zakupu powinny mieć albo AutoRenewingPlan, albo PrepaidPlan.

startTime

string (Timestamp format)

Czas przyznania subskrypcji. Nie ustawione w przypadku oczekujących subskrypcji (subskrypcja została utworzona, ale podczas rejestracji oczekuje na płatność).

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""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 rejestracyjnego, jeśli nie zostało jeszcze odnowione, lub identyfikator ostatniego zamówienia cyklicznego (udane, oczekujące lub odrzucone). W przypadku subskrypcji przedpłaconej jest to identyfikator zamówienia powiązany z zapytanym tokenem zakupu.

linkedPurchaseToken

string

Token zakupu starej subskrypcji, jeśli jest to jedna z tych subskrypcji: * ponowna rejestracja anulowanej, ale nie wygasłej subskrypcji; * przejście na wyższą lub niższą wersję poprzedniej subskrypcji. * Przejście z abonamentu przedpłaconego na abonament automatycznie odnawiany. * Przekształcanie subskrypcji z automatycznym odnawianiem w subskrypcję przedpłaconą. * Przedłużenie abonamentu przedpłaconego.

pausedStateContext

object (PausedStateContext)

Dodatkowe informacje o wstrzymanych subskrypcjach. Widoczny tylko wtedy, gdy subskrypcja ma obecnie stan subscriptionState SUBSCRIPTION_STATE_PAUSED.

canceledStateContext

object (CanceledStateContext)

Dodatkowy kontekst dotyczący anulowanych subskrypcji. Widoczny tylko wtedy, gdy subskrypcja ma obecnie stan subscriptionState SUBSCRIPTION_STATE_CANCELED lub SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

Wyświetla się tylko wtedy, gdy zakup subskrypcji jest zakupem testowym.

acknowledgementState

enum (AcknowledgementState)

Stan potwierdzenia subskrypcji.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Identyfikator konta użytkownika w usłudze zewnętrznej.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

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

SubscriptionState

Stany, w których może się znajdować subskrypcja, np. czy jest aktywna czy anulowana. Produkty w ramach zakupu subskrypcji mogą być abonamentami odnawianymi automatycznie lub przedpłaconymi.

Wartości w polu enum
SUBSCRIPTION_STATE_UNSPECIFIED Nieokreślony stan subskrypcji.
SUBSCRIPTION_STATE_PENDING Subskrypcja została utworzona, ale podczas rejestracji nie dokonano płatności. W tym stanie wszystkie pozycje oczekują na płatność.
SUBSCRIPTION_STATE_ACTIVE Subskrypcja jest aktywna. – (1) Jeśli subskrypcja jest abonamentem automatycznie odnawianym, co najmniej 1 element ma włączone automatyczne odnawianie i nie wygasł. – (2) Jeśli subskrypcja jest abonamentem przedpłaconym, co najmniej 1 element nie wygasł.
SUBSCRIPTION_STATE_PAUSED Subskrypcja jest wstrzymana. Stan jest dostępny tylko wtedy, gdy subskrypcja jest abonamentem z automatycznym odnawianiem. 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 z automatycznym odnawianiem. W tym stanie wszystkie elementy są w okresie przejściowym.
SUBSCRIPTION_STATE_ON_HOLD Subskrypcja jest wstrzymana (zawieszona). Stan jest dostępny tylko wtedy, gdy subskrypcja jest abonamentem z automatycznym odnawianiem. 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 z automatycznym odnawianiem. W przypadku wszystkich elementów wartość autoRenewEnabled jest ustawiona na „fałsz”.
SUBSCRIPTION_STATE_EXPIRED Subskrypcja wygasła. Wszystkie elementy mają wartość expiryTime w przeszłości.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Oczekująca transakcja dotycząca subskrypcji została anulowana. Jeśli oczekujący zakup dotyczył istniejącej subskrypcji, użyj parametru 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)

Czas, w którym subskrypcja zostanie automatycznie wznowiona.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Informacje dotyczące subskrypcji w stanie SUBSCRIPTION_STATE_CANCELLED 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 unii cancellation_reason. Powód anulowania subskrypcji. cancellation_reason może być tylko jednym z tych elementów:
userInitiatedCancellation

object (UserInitiatedCancellation)

Użytkownik anulował subskrypcję.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

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

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

Subskrypcja została anulowana przez dewelopera.

replacementCancellation

object (ReplacementCancellation)

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

UserInitiatedCancellation

Informacje dotyczące anulowania 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 powodu anulowania);

cancelTime

string (Timestamp format)

Czas anulowania subskrypcji przez użytkownika. Użytkownik może nadal mieć dostęp do subskrypcji po upływie tego czasu. Użyj elementu lineItems.expiry_time, aby określić, czy użytkownik nadal ma dostęp.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

CancelSurveyResult

Wynik ankiety anulowania, gdy subskrypcja została anulowana przez użytkownika.

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

enum (CancelSurveyReason)

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

reasonUserInput

string

Ustawiane tylko w przypadku CANCEL_SURVEY_REASON_OTHERS. To 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 korzystanie z 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 pól.

Informacje dotyczące anulowań zainicjowanych przez system Google.

DeveloperInitiatedCancellation

Ten typ nie ma pól.

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

ReplacementCancellation

Ten typ nie ma pól.

Informacje dotyczące anulowań spowodowanych wymianą subskrypcji.

TestPurchase

Ten typ nie ma 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 zewnętrznej.

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

string

Identyfikator konta użytkownika w usłudze zewnętrznej. Wyświetla się tylko wtedy, gdy połączenie kont nastąpiło w ramach procesu zakupu subskrypcji.

obfuscatedExternalAccountId

string

Zaszyfrowana wersja identyfikatora, który jest jednoznacznie powiązany z kontem użytkownika w aplikacji. Jest obecny w przypadku tych zakupów: * jeśli połączenie konta nastąpiło w ramach procesu zakupu subskrypcji. * W momencie dokonania zakupu został on określony za pomocą interfejsu https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid.

obfuscatedExternalProfileId

string

Zaszyfrowana wersja identyfikatora, który jest jednoznacznie powiązany z profilem użytkownika w aplikacji. Jest obecny tylko wtedy, gdy w momencie dokonania zakupu został podany za pomocą metody https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid.

SubscribeWithGoogleInfo

informacje związane z zakupami dokonanymi za pomocą funkcji „Subskrybuj przez 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

Imię użytkownika w momencie zakupu subskrypcji.

familyName

string

Nazwisko użytkownika w dacie 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.
  "signupPromotion": {
    object (SignupPromotion)
  }
}
Pola
productId

string

Identyfikator zakupionego produktu (np. „monthly001”).

expiryTime

string (Timestamp format)

Czas, w którym subskrypcja wygasła lub wygaśnie, jeśli nie zostanie przedłużona (np. odnowiona).

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

Pole unii plan_type. Typ abonamentu. plan_type może być tylko jednym z tych elementów:
autoRenewingPlan

object (AutoRenewingPlan)

Produkt jest automatycznie odnawiany.

prepaidPlan

object (PrepaidPlan)

Produkt jest opłacony z góry.

offerDetails

object (OfferDetails)

Szczegóły oferty dotyczące tego produktu.

Pole unii deferred_item_change. Pole jest obecne, gdy element ma opóźnioną zmianę. Można go usunąć lub wymienić. deferred_item_change może być tylko jednym z tych elementów:
deferredItemReplacement

object (DeferredItemReplacement)

Informacje o opóźnionym zwrocie produktu.

signupPromotion

object (SignupPromotion)

Szczegóły promocji dotyczące tego produktu. Jest ustawiany tylko wtedy, gdy podczas rejestracji została zastosowana promocja.

AutoRenewingPlan

Informacje związane z automatycznym odnawianiem abonamentu.

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 anulował subskrypcji.

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Informacje o ostatniej zmianie ceny produktu od czasu rejestracji subskrypcji.

installmentDetails

object (InstallmentPlan)

Informacje o zobowiązaniach i stanie planu ratalnego w przypadku planu z automatycznym odnawianiem.

SubscriptionItemPriceChangeDetails

Informacje o zmianie ceny produktu w ramach subskrypcji.

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

object (Money)

nowa cena cykliczna produktu w ramach subskrypcji,

priceChangeMode

enum (PriceChangeMode)

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

priceChangeState

enum (PriceChangeState)

Podaj, że zmiana ceny jest obecnie w drodze.

expectedNewPriceChargeTime

string (Timestamp format)

Czas odnowienia, w którym zmiana ceny zacznie obowiązywać użytkownika. Może się to zmienić(w przyszłości) z powodu przesunięcia czasu odnowienia, np. w przypadku wstrzymania. To pole jest wypełniane tylko wtedy, gdy zmiana ceny nie została jeszcze wprowadzona.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

PriceChangeMode

Tryb zmiany ceny.

Wartości w polu enum
PRICE_CHANGE_MODE_UNSPECIFIED Tryb zmiany ceny nie został określony. Ta wartość nigdy nie powinna być ustawiana.
PRICE_DECREASE Jeśli cena subskrypcji spada.
PRICE_INCREASE jeśli cena subskrypcji wzrasta i użytkownik musi ją zaakceptować;
OPT_OUT_PRICE_INCREASE Jeśli cena subskrypcji wzrasta w ramach trybu rezygnacji.

PriceChangeState

Stan zmiany ceny.

Wartości w polu enum
PRICE_CHANGE_STATE_UNSPECIFIED Stan zmiany ceny jest nieokreślony. Nie należy używać tej wartości.
OUTSTANDING Czekam na zaakceptowanie przez użytkownika zmiany ceny.
CONFIRMED Użytkownik potwierdził, że zmiana ceny została wprowadzona.
APPLIED Zmiana ceny została zastosowana, czyli użytkownik zaczął płacić nową cenę.

InstallmentPlan

Informacje o planie ratalnym.

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

integer

Łączna liczba płatności, na które użytkownik się początkowo zadeklarował.

subsequentCommittedPaymentsCount

integer

Łączna liczba płatności, które użytkownik zadeklaruje po każdym okresie zobowiązania. Pusty oznacza, że po upływie okresu wiązania subskrypcja ratalna zostanie automatycznie odnowiona jako zwykła subskrypcja z automatycznym odnawianiem.

remainingCommittedPaymentsCount

integer

Łączna liczba zobowiązań do płatności, które należy jeszcze zrealizować w ramach tego cyklu odnawiania.

pendingCancellation

object (PendingCancellation)

Jeśli jest obecny, oznacza, że ten abonament jest oczekujący na anulowanie. Anulowanie nastąpi dopiero po zakończeniu wszystkich zobowiązań płatniczych użytkownika.

PendingCancellation

Ten typ nie ma pól.

Wskaźnik, czy oczekuje anulowanie wirtualnego planu ratalnego. Anulowanie nastąpi dopiero po zakończeniu wszystkich zobowiązań płatniczych użytkownika.

PrepaidPlan

informacje dotyczące abonamentu przedpłaconego;

Zapis JSON
{
  "allowExtendAfterTime": string
}
Pola
allowExtendAfterTime

string (Timestamp format)

Jeśli jest obecny, to czas, po którym można doładować abonament przedpłacony. Nie są dostępne w przypadku wygasłych abonamentów przedpłaconych.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

OfferDetails

Szczegółowe informacje o ofercie dotyczące elementu zamówienia z zakupem.

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

string

najnowsze tagi oferty powiązane z ofertą. Zawiera tagi odziedziczone z abonamentu podstawowego.

basePlanId

string

Identyfikator abonamentu podstawowego. Dostępne dla wszystkich abonamentów podstawowych i ofert.

offerId

string

Identyfikator oferty. Widoczne tylko w przypadku ofert z rabatem.

DeferredItemReplacement

Informacje dotyczące opóźnionego wymiany produktu.

Zapis JSON
{
  "productId": string
}
Pola
productId

string

productId zastąpi dotychczasowy productId.

SignupPromotion

Promocja zastosowana do tego produktu w momencie zakupu.

Zapis JSON
{

  // Union field promotion_type can be only one of the following:
  "oneTimeCode": {
    object (OneTimeCode)
  },
  "vanityCode": {
    object (VanityCode)
  }
  // End of list of possible types for union field promotion_type.
}
Pola
Pole unii promotion_type. Typ promocji zastosowanej do produktu. promotion_type może być tylko jednym z tych elementów:
oneTimeCode

object (OneTimeCode)

Zastosowano kod jednorazowy.

vanityCode

object (VanityCode)

Zastosowano kod firmowy.

OneTimeCode

Ten typ nie ma pól.

jednorazowy kod promocyjny,

VanityCode

Zdefiniowany wstępnie kod promocyjny do wielokrotnego użytku.

Zapis JSON
{
  "promotionCode": string
}
Pola
promotionCode

string

Kod promocyjny.

Metody

get

Pobieranie metadanych dotyczących subskrypcji

revoke

anulować zakupioną przez użytkownika subskrypcję.