REST Resource: purchases.subscriptions

Zasób: SubscriptionPurchase

Zasób SubscriptionPurchase wskazuje stan zakupu subskrypcji przez użytkownika.

Zapis JSON
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Pola
kind

string

Ten typ reprezentuje obiekt subscriptionPurchase w usłudze androidpublisher.

startTimeMillis

string (int64 format)

Czas przyznania subskrypcji w milisekundach od początku epoki.

expiryTimeMillis

string (int64 format)

Czas, w którym subskrypcja wygaśnie (w milisekundach od początku epoki).

autoResumeTimeMillis

string (int64 format)

Czas, w którym subskrypcja zostanie automatycznie wznowiona (w milisekundach od początku epoki). Jest obecny tylko wtedy, gdy użytkownik poprosił o wstrzymanie subskrypcji.

autoRenewing

boolean

Określa, czy subskrypcja będzie automatycznie odnawiana po upływie jej bieżącego okresu.

priceCurrencyCode

string

Kod waluty w formacie ISO 4217 dla ceny abonamentu. Jeśli na przykład cena jest podana w funtach brytyjskich, kod waluty to „GBP”.

priceAmountMicros

string (int64 format)

Cena subskrypcji. W przypadku krajów, w których nie ma podatku, cena nie obejmuje podatku. W krajach, w których obowiązuje podatek, cena zawiera podatek. Cena jest wyrażona w mikrojednostkach, gdzie 1 000 000 mikrojednostek odpowiada jednej jednostce waluty. Jeśli na przykład cena subskrypcji wynosi 1, 99 PLN, wartość priceAmountMicros wynosi 1990000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

informacje o cenie wstępnej subskrypcji, Jest ona widoczna tylko wtedy, gdy subskrypcja została kupiona w cenie promocyjnej.

To pole nie wskazuje, że subskrypcja jest obecnie w okresie obowiązywania ceny promocyjnej.

countryCode

string

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

developerPayload

string

Ciąg znaków określony przez dewelopera, który zawiera dodatkowe informacje o zamówieniu.

paymentState

integer

Stan płatności za subskrypcję. Możliwe wartości: 0. Płatność oczekująca 1. Płatność odebrana 2. Bezpłatny okres próbny 3. Oczekuje na odroczone przejście na wyższą lub niższą wersję

Nie występuje w przypadku anulowanych lub wygasłych subskrypcji.

cancelReason

integer

Powód anulowania subskrypcji lub brak automatycznego odnawiania. Możliwe wartości: 0. Użytkownik anulował subskrypcję 1. Subskrypcja została anulowana przez system, np. z powodu problemu z płatnościami. 2. Subskrypcja została zastąpiona nową subskrypcją 3. Subskrypcja została anulowana przez dewelopera

userCancellationTimeMillis

string (int64 format)

Czas anulowania subskrypcji przez użytkownika w milisekundach od początku epoki. Widoczny tylko wtedy, gdy cancelReason ma wartość 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

informacje podane przez użytkownika podczas anulowania subskrypcji (ankieta dotycząca powodu anulowania);

orderId

string

Identyfikator ostatniego zamówienia cyklicznego powiązanego z zakupem subskrypcji. Jeśli subskrypcja została anulowana, ponieważ płatność została odrzucona, będzie to identyfikator zamówienia z zamówienia, w którym płatność została odrzucona.

linkedPurchaseToken

string

Token zakupu początkowego, jeśli ta subskrypcja jest jedną z tych opcji: 0. Ponowne rejestrowanie anulowanej, ale niewygasłej subskrypcji 1. Przechodzenie na wyższą lub niższą wersję poprzedniej subskrypcji

Załóżmy na przykład, że użytkownik najpierw się rejestruje i Ty otrzymujesz token zakupu X, a potem anuluje subskrypcję i przechodzi przez proces rezygnacji (przed wygaśnięciem subskrypcji) i Ty otrzymujesz token zakupu Y. W końcu użytkownik ulepsza subskrypcję i Ty otrzymujesz token zakupu Z. Jeśli wywołasz ten interfejs API za pomocą tokena zakupu Z, to pole zostanie ustawione na Y. Jeśli wywołasz ten interfejs API za pomocą tokena zakupu Y, to pole zostanie ustawione na X. Jeśli wywołasz ten interfejs API za pomocą tokena zakupu X, to pole nie zostanie ustawione.

purchaseType

integer

Typ zakupu subskrypcji. To pole jest ustawione tylko wtedy, gdy zakup nie został dokonany za pomocą standardowego procesu płatności w aplikacji. Możliwe wartości: 0. Test (czyli zakupione z konta testowego licencji) 1. Promo (np. zakupione przy użyciu kodu promocyjnego)

priceChange

object (SubscriptionPriceChange)

najnowsze dostępne informacje o zmianie ceny; Jest ona widoczna tylko wtedy, gdy wkrótce zmieni się cena subskrypcji.

Gdy subskrypcja zostanie odnowiona z nową ceną lub anulowana, nie zostaną zwrócone żadne informacje o zmianie ceny.

profileName

string

Nazwa profilu użytkownika w momencie zakupu subskrypcji. Dotyczy tylko zakupów dokonanych za pomocą opcji „Subskrybuj z Google”.

emailAddress

string

Adres e-mail użytkownika w momencie zakupu subskrypcji. Dotyczy tylko zakupów dokonanych za pomocą opcji „Subskrybuj z Google”.

givenName

string

Imię użytkownika w momencie zakupu subskrypcji. Dotyczy tylko zakupów dokonanych za pomocą opcji „Subskrybuj z Google”.

familyName

string

Nazwisko użytkownika w dacie zakupu subskrypcji. Dotyczy tylko zakupów dokonanych za pomocą opcji „Subskrybuj z Google”.

profileId

string

Identyfikator profilu Google użytkownika w momencie zakupu subskrypcji. Dotyczy tylko zakupów dokonanych za pomocą opcji „Subskrybuj z Google”.

acknowledgementState

integer

Stan potwierdzenia produktu subskrypcji. Możliwe wartości: 0. Jeszcze nie potwierdzone 1. Potwierdzono

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.

promotionType

integer

Typ promocji zastosowany w przypadku tego zakupu. To pole jest ustawiane tylko wtedy, gdy podczas zakupu abonamentu została zastosowana promocja. Możliwe wartości: 0. Kod jednorazowy 1. Kod vanity

promotionCode

string

Kod promocyjny zastosowany przy tym zakupie. To pole jest ustawione tylko wtedy, gdy podczas zakupu subskrypcji zastosowano promocję z kodem niepowtarzalnym.

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.

IntroductoryPriceInfo

Zawiera informacje o cenie początkowej subskrypcji.

Zapis JSON
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
Pola
introductoryPriceCurrencyCode

string

Kod waluty w formacie ISO 4217 dla wstępnej ceny abonamentu. Jeśli na przykład cena jest podana w funtach brytyjskich, kod waluty to „GBP”.

introductoryPriceAmountMicros

string (int64 format)

Wstępna cena abonamentu bez podatku. Waluta jest taka sama jak w przypadku priceCurrencyCode. Cena jest wyrażona w mikrojednostkach, gdzie 1 000 000 mikrojednostek odpowiada jednej jednostce waluty. Jeśli na przykład cena subskrypcji wynosi 1, 99 PLN, wartość priceAmountMicros wynosi 1990000.

introductoryPricePeriod

string

Okres obowiązywania ceny promocyjnej określony w formacie ISO 8601. Typowe wartości to m.in. „P1W” (1 tydzień), „P1M” (1 miesiąc), „P3M” (3 miesiące), „P6M” (6 miesięcy) i „P1Y” (1 rok).

introductoryPriceCycles

integer

Liczba okresów rozliczeniowych, w których obowiązuje cena początkowa.

SubscriptionCancelSurveyResult

informacje podane przez użytkownika podczas anulowania subskrypcji (ankieta dotycząca powodu anulowania);

Zapis JSON
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
Pola
cancelSurveyReason

integer

powód anulowania wybrany przez użytkownika w ankiecie. Możliwe wartości: 0. Inne 1. Nie używam tej usługi zbyt często 2. Problemy techniczne 3. Koszty 4. Udało mi się znaleźć lepszą aplikację

userInputCancelReason

string

Dostosowany powód anulowania przez użytkownika. Widoczne tylko wtedy, gdy cancelReason ma wartość 0.

SubscriptionPriceChange

Zawiera informacje o zmianie ceny subskrypcji, które można wykorzystać do kontrolowania procesu zmiany ceny w aplikacji. Może to polegać na prośbie o potwierdzenie od użytkownika lub dostosowaniu procesu w celu skutecznego przeprowadzenia konwersji.

Zapis JSON
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
Pola
newPrice

object (Price)

Nowa cena, po której subskrypcja zostanie odnowiona, jeśli użytkownik zaakceptuje zmianę ceny.

state

integer

Bieżący stan zmiany ceny. Możliwe wartości: 0. Nierozstrzygnięte: stan oczekującej zmiany ceny, która czeka na zaakceptowanie przez użytkownika. W tym stanie możesz opcjonalnie poprosić użytkownika o potwierdzenie za pomocą interfejsu In-App API. 1. Zaakceptowana: w przypadku zaakceptowanej zmiany ceny podaj cenę, z którą subskrypcja będzie odnawiana, chyba że zostanie anulowana. Zmiana ceny zacznie obowiązywać w przyszłości, gdy subskrypcja zostanie odnowiona. Pamiętaj, że zmiana może nie nastąpić podczas następnego odnawiania subskrypcji.

Metody

acknowledge

potwierdza zakup subskrypcji.

cancel

anuluje zakup subskrypcji przez użytkownika.

defer

Opóźnia zakup subskrypcji przez użytkownika do określonego w przyszłości terminu wygaśnięcia.

get

Sprawdza, czy subskrypcja zakupiona przez użytkownika jest ważna, i zwraca czas jej wygaśnięcia.

refund

Zwrot środków za zakup subskrypcji, ale subskrypcja pozostaje ważna do czasu wygaśnięcia i będzie nadal odnawiana.

revoke

Zwraca środki i natychmiast unieważnia zakupioną przez użytkownika subskrypcję.