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 lub regionu rozliczeniowego użytkownika w formacie ISO 3166-1 alfa-2 w momencie przyznania subskrypcji.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informacje o produkcie w przypadku zakupu subskrypcji. Wszystkie produkty w ramach tego samego zakupu powinny być objęte abonamentem odnawianym automatycznie lub abonamentem przedpłaconym.

startTime

string (Timestamp format)

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

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i używają 0, 3, 6 lub 9 cyfr ułamkowych. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

subscriptionState

enum (SubscriptionState)

Bieżący stan subskrypcji.

latestOrderId
(deprecated)

string

Wycofano: zamiast niego użyj lineItems.latest_successful_order_id. 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 (zrealizowanego, oczekującego lub odrzuconego). 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 jedną z tych subskrypcji: * ponowna rejestracja anulowanej, ale niewygasłej subskrypcji; * przejście na wyższą lub niższą wersję poprzedniej subskrypcji. * Przekształć abonament przedpłacony w automatycznie odnawianą subskrypcję. * Przekształć subskrypcję odnawianą automatycznie w abonament przedpłacony. * Przedłużanie abonamentu przedpłaconego.

pausedStateContext

object (PausedStateContext)

Dodatkowe informacje o wstrzymanych subskrypcjach. Występuje tylko wtedy, gdy subskrypcja ma obecnie stan SUBSCRIPTION_STATE_PAUSED.

canceledStateContext

object (CanceledStateContext)

Dodatkowy kontekst dotyczący anulowanych subskrypcji. Występuje tylko wtedy, gdy subskrypcja ma obecnie stan SUBSCRIPTION_STATE_CANCELED lub SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

Występuje 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 w Google”.

SubscriptionState

Potencjalne stany subskrypcji, np. czy jest aktywna czy anulowana. Elementy w ramach zakupu subskrypcji mogą być 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 odnawiana automatycznie, co najmniej 1 produkt ma wartość autoRenewEnabled i nie wygasł. – (2) Jeśli subskrypcja jest abonamentem przedpłaconym, co najmniej 1 produkt nie wygasł.
SUBSCRIPTION_STATE_PAUSED Subskrypcja jest wstrzymana. Ten stan jest dostępny tylko wtedy, gdy subskrypcja jest automatycznie odnawianym abonamentem. 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 subskrypcja jest automatycznie odnawianym abonamentem. W tym stanie wszystkie produkty są w okresie prolongaty.
SUBSCRIPTION_STATE_ON_HOLD Subskrypcja jest wstrzymana (zawieszona). Ten stan jest dostępny tylko wtedy, gdy subskrypcja jest automatycznie odnawianym abonamentem. W tym stanie wszystkie produkty są wstrzymane.
SUBSCRIPTION_STATE_CANCELED Subskrypcja została anulowana, ale jeszcze nie wygasła. Ten stan jest dostępny tylko wtedy, gdy subskrypcja jest automatycznie odnawianym abonamentem. Wszystkie elementy mają ustawioną wartość autoRenewEnabled na false.
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 ten zakup w stanie oczekiwania dotyczy istniejącej subskrypcji, użyj parametru linkedPurchaseToken, aby uzyskać jej bieżący stan.

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.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i używają 0, 3, 6 lub 9 cyfr ułamkowych. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

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 unii cancellation_reason. Powód anulowania subskrypcji. cancellation_reason może mieć tylko jedną z tych wartości:
userInitiatedCancellation

object (UserInitiatedCancellation)

Użytkownik anulował subskrypcję.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

Subskrypcja została anulowana przez system, np. 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 anulowania subskrypcji 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 z pytaniem o powód rezygnacji).

cancelTime

string (Timestamp format)

Czas, w którym subskrypcja została anulowana przez użytkownika. Po tym czasie 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.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i używają 0, 3, 6 lub 9 cyfr ułamkowych. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

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

Ustawione tylko w przypadku wartości CANCEL_SURVEY_REASON_OTHERS. Jest to własna odpowiedź użytkownika na pytanie w ankiecie.

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 Subskrypcja jest używana zbyt rzadko.
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 anulowania zainicjowanego przez system Google.

DeveloperInitiatedCancellation

Ten typ nie ma pól.

Informacje dotyczące anulowania zainicjowanego przez deweloperów.

ReplacementCancellation

Ten typ nie ma pól.

Informacje dotyczące anulowania spowodowanego zastąpieniem 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. Występuje tylko wtedy, gdy połączenie konta nastąpiło w ramach procesu zakupu subskrypcji.

obfuscatedExternalAccountId

string

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

obfuscatedExternalProfileId

string

Zaciemniona wersja identyfikatora, który jest jednoznacznie powiązany z profilem użytkownika w Twojej aplikacji. Występuje 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 w 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 momencie zakupu subskrypcji.

SubscriptionPurchaseLineItem

Informacje o produkcie w przypadku zakupu subskrypcji.

Zapis JSON
{
  "productId": string,
  "expiryTime": string,
  "latestSuccessfulOrderId": 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)
  },
  "deferredItemRemoval": {
    object (DeferredItemRemoval)
  }
  // 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, chyba że dostęp zostanie przedłużony (np. odnowiony).

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i używają 0, 3, 6 lub 9 cyfr ułamkowych. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

latestSuccessfulOrderId

string

Identyfikator ostatniego zamówienia powiązanego z tym produktem, które zostało zrealizowane. Nie występuje, jeśli użytkownik nie ma jeszcze tego elementu (np. elementu, który został zastąpiony przez element odroczony).

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

object (AutoRenewingPlan)

Produkt jest odnawiany automatycznie.

prepaidPlan

object (PrepaidPlan)

Produkt jest przedpłacony.

offerDetails

object (OfferDetails)

Szczegóły oferty tego produktu.

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

object (DeferredItemReplacement)

Informacje o odroczonej wymianie produktu.

deferredItemRemoval

object (DeferredItemRemoval)

Informacje o odroczonym usuwaniu elementów.

signupPromotion

object (SignupPromotion)

Szczegóły promocji dotyczące tego produktu. Ustawiany tylko wtedy, gdy podczas rejestracji zastosowano promocję.

AutoRenewingPlan

Informacje dotyczące abonamentu odnawianego automatycznie.

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

boolean

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

recurringPrice

object (Money)

Obecna cena cykliczna abonamentu odnawianego automatycznie. Pamiętaj, że cena nie uwzględnia rabatów i nie obejmuje podatków w przypadku cen bez podatku. Jeśli potrzebujesz szczegółów transakcji, zadzwoń do orders.get API.

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Informacje o ostatniej zmianie ceny produktu od momentu zarejestrowania subskrypcji.

installmentDetails

object (InstallmentPlan)

Informacje o zobowiązaniu w ramach planu ratalnego i stanie powiązanym z planem odnawianym automatycznie.

SubscriptionItemPriceChangeDetails

Informacje o zmianie ceny elementu subskrypcji.

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

object (Money)

Nowa cena cykliczna za subskrypcję.

priceChangeMode

enum (PriceChangeMode)

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

priceChangeState

enum (PriceChangeState)

Określ, w jakim stanie jest obecnie zmiana ceny.

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) w przypadku przesunięcia czasu odnowienia, np. w wyniku wstrzymania subskrypcji. To pole jest wypełniane tylko wtedy, gdy zmiana ceny nie weszła jeszcze w życie.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i używają 0, 3, 6 lub 9 cyfr ułamkowych. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

PriceChangeMode

Rodzaj zmiany ceny.

Wartości w polu enum
PRICE_CHANGE_MODE_UNSPECIFIED Nieokreślony tryb zmiany ceny. Ta wartość nigdy nie powinna być ustawiona.
PRICE_DECREASE Jeśli cena subskrypcji się zmniejsza.
PRICE_INCREASE Jeśli cena subskrypcji wzrasta i użytkownik musi ją zaakceptować.
OPT_OUT_PRICE_INCREASE Jeśli cena subskrypcji wzrasta w trybie 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 Oczekiwanie na zgodę użytkownika na zmianę ceny.
CONFIRMED Zmiana ceny zostanie potwierdzona dla użytkownika.
APPLIED Zmiana ceny została zastosowana, tzn. użytkownik zaczął płacić nową cenę.
CANCELED Zmiana ceny została anulowana.

InstallmentPlan

Informacje o planie ratalnym.

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ę na początku.

subsequentCommittedPaymentsCount

integer

Łączna liczba płatności, do których użytkownik będzie zobowiązany po każdym okresie zobowiązania. Puste pole oznacza, że po początkowym okresie zobowiązania abonament ratalny zostanie przekształcony w zwykłą subskrypcję z automatycznym odnawianiem.

remainingCommittedPaymentsCount

integer

Łączna liczba pozostałych płatności za zobowiązania, które należy uiścić w tym cyklu odnowienia.

pendingCancellation

object (PendingCancellation)

Jeśli ten abonament jest obecny, oczekuje na anulowanie. Anulowanie nastąpi dopiero po dokonaniu przez użytkownika wszystkich zobowiązanych płatności.

PendingCancellation

Ten typ nie ma pól.

Wskazuje, czy w przypadku wirtualnego planu ratalnego oczekuje się anulowania. Anulowanie nastąpi dopiero po dokonaniu przez użytkownika wszystkich zobowiązanych płatności.

PrepaidPlan

informacje dotyczące abonamentu przedpłaconego;

Zapis JSON
{
  "allowExtendAfterTime": string
}
Pola
allowExtendAfterTime

string (Timestamp format)

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

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i używają 0, 3, 6 lub 9 cyfr ułamkowych. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

OfferDetails

Informacje o szczegółach oferty dotyczące elementu zamówienia.

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. Występuje we wszystkich abonamentach podstawowych i ofertach.

offerId

string

Identyfikator oferty. Występuje tylko w przypadku ofert z rabatem.

DeferredItemReplacement

Informacje dotyczące odroczonej wymiany produktu.

Zapis JSON
{
  "productId": string
}
Pola
productId

string

Identyfikator produktu, który zastąpi dotychczasowy identyfikator produktu.

DeferredItemRemoval

Ten typ nie ma pól.

Informacje dotyczące odroczonej wymiany produktu.

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 mieć tylko jedną z tych wartości:
oneTimeCode

object (OneTimeCode)

Zastosowano kod jednorazowy.

vanityCode

object (VanityCode)

Zastosowano kod niestandardowy.

OneTimeCode

Ten typ nie ma pól.

jednorazowy kod promocyjny;

VanityCode

Wielokrotny, predefiniowany kod promocyjny.

Zapis JSON
{
  "promotionCode": string
}
Pola
promotionCode

string

Kod promocyjny.

Metody

get

Pobieranie metadanych subskrypcji

revoke

Unieważnij zakup subskrypcji użytkownika.