- Zasób: SubscriptionPurchase
 - IntroductoryPriceInfo
 - SubscriptionCancelSurveyResult
 - SubscriptionPriceChange
 - Metody
 
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 (  | 
              
| Pola | |
|---|---|
kind | 
                
                   
 Ten rodzaj reprezentuje obiekt subscriptionPurchase w usłudze androidpublisher.  | 
              
startTimeMillis | 
                
                   
 Czas przyznania subskrypcji w milisekundach od początku epoki.  | 
              
expiryTimeMillis | 
                
                   
 Czas wygaśnięcia subskrypcji w milisekundach od początku epoki.  | 
              
autoResumeTimeMillis | 
                
                   
 Czas, w którym subskrypcja zostanie automatycznie wznowiona, w milisekundach od początku epoki. Występuje tylko wtedy, gdy użytkownik poprosił o wstrzymanie subskrypcji.  | 
              
autoRenewing | 
                
                   
 Określa, czy subskrypcja zostanie automatycznie odnowiona po upływie bieżącego okresu ważności.  | 
              
priceCurrencyCode | 
                
                   
 Kod waluty ceny subskrypcji w formacie ISO 4217. Jeśli na przykład cena jest podana w funtach brytyjskich, priceCurrencyCode to „GBP”.  | 
              
priceAmountMicros | 
                
                   
 Cena subskrypcji. W krajach, w których podatek nie jest wliczony w cenę, cena nie zawiera podatku. W krajach, w których podatek jest wliczony w cenę, cena zawiera podatek. Cena jest wyrażona w mikrojednostkach, gdzie milion mikrojednostek odpowiada jednej jednostce waluty. Jeśli na przykład cena subskrypcji wynosi 1, 99 PLN, wartość priceAmountMicros to 1990000.  | 
              
introductoryPriceInfo | 
                
                   
 Informacje o cenie dla nowych subskrybentów. Ta informacja jest widoczna tylko wtedy, gdy subskrypcja została kupiona w cenie początkowej. To pole nie wskazuje, czy subskrypcja jest obecnie w okresie obowiązywania ceny dla nowych użytkowników.  | 
              
countryCode | 
                
                   
 Kod kraju lub regionu rozliczeniowego użytkownika w formacie ISO 3166-1 alfa-2 w momencie przyznania subskrypcji.  | 
              
developerPayload | 
                
                   
 Ciąg znaków określony przez dewelopera, który zawiera dodatkowe informacje o zamówieniu.  | 
              
paymentState | 
                
                   
 Stan płatności subskrypcji. Możliwe wartości: 0. Oczekująca płatność 1. Otrzymano płatność 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 i wygasłych subskrypcji.  | 
              
cancelReason | 
                
                   
 Powód anulowania subskrypcji lub braku 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ścią. Subskrypcja została zastąpiona nową subskrypcją 3. Subskrypcja została anulowana przez dewelopera  | 
              
userCancellationTimeMillis | 
                
                   
 Czas anulowania subskrypcji przez użytkownika w milisekundach od początku epoki. Występuje tylko wtedy, gdy cancelReason ma wartość 0.  | 
              
cancelSurveyResult | 
                
                   
 Informacje podane przez użytkownika podczas procesu anulowania subskrypcji (ankieta z pytaniem o powód rezygnacji).  | 
              
orderId | 
                
                   
 Identyfikator ostatniego zamówienia cyklicznego powiązanego z zakupem subskrypcji. Jeśli subskrypcja została anulowana z powodu odrzucenia płatności, będzie to identyfikator zamówienia, w którym odrzucono płatność.  | 
              
linkedPurchaseToken | 
                
                   
 Token zakupu pierwotnego zakupu, jeśli ta subskrypcja jest jedną z tych opcji: 0. Ponowna rejestracja anulowanej, ale nie wygasłej subskrypcji 1. Przechodzenie z poprzedniej subskrypcji na wyższą lub niższą wersję Załóżmy na przykład, że użytkownik zarejestruje się i otrzymasz token zakupu X, a potem anuluje subskrypcję i ponownie się zarejestruje (zanim subskrypcja wygaśnie) i otrzymasz token zakupu Y, a na koniec użytkownik uaktualni subskrypcję i otrzymasz token zakupu Z. Jeśli wywołasz ten interfejs API z tokenem zakupu Z, to pole zostanie ustawione na Y. Jeśli wywołasz ten interfejs API z tokenem zakupu Y, to pole zostanie ustawione na X. Jeśli wywołasz ten interfejs API z tokenem zakupu X, to pole nie zostanie ustawione.  | 
              
purchaseType | 
                
                   
 Typ zakupu subskrypcji. To pole jest ustawiane tylko wtedy, gdy zakup nie został dokonany przy użyciu standardowego procesu rozliczeń w aplikacji. Możliwe wartości: 0. Test (czyli zakupiona na koncie testowania licencji) 1. Promocyjna (czyli kupiona przy użyciu kodu promocyjnego)  | 
              
priceChange | 
                
                   
 Najnowsze dostępne informacje o zmianach cen. Ten element jest widoczny tylko wtedy, gdy wkrótce nastąpi zmiana ceny subskrypcji, która nie została jeszcze zastosowana. Gdy subskrypcja zostanie odnowiona z nową ceną lub anulowana, nie będą zwracane żadne informacje o zmianie ceny.  | 
              
profileName | 
                
                   
 Nazwa profilu użytkownika w momencie zakupu subskrypcji. Występuje tylko w przypadku zakupów dokonanych za pomocą „Subskrybuj w Google”.  | 
              
emailAddress | 
                
                   
 Adres e-mail użytkownika w momencie zakupu subskrypcji. Występuje tylko w przypadku zakupów dokonanych za pomocą „Subskrybuj w Google”.  | 
              
givenName | 
                
                   
 Imię użytkownika w momencie zakupu subskrypcji. Występuje tylko w przypadku zakupów dokonanych za pomocą „Subskrybuj w Google”.  | 
              
familyName | 
                
                   
 Nazwisko użytkownika w momencie zakupu subskrypcji. Występuje tylko w przypadku zakupów dokonanych za pomocą „Subskrybuj w Google”.  | 
              
profileId | 
                
                   
 Identyfikator profilu Google użytkownika w momencie zakupu subskrypcji. Występuje tylko w przypadku zakupów dokonanych za pomocą „Subskrybuj w Google”.  | 
              
acknowledgementState | 
                
                   
 Stan potwierdzenia subskrypcji. Możliwe wartości: 0. Niepotwierdzone 1. Potwierdzono  | 
              
externalAccountId | 
                
                   
 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.  | 
              
promotionType | 
                
                   
 Typ promocji zastosowanej w przypadku tego zakupu. To pole jest ustawiane tylko wtedy, gdy w momencie zakupu subskrypcji zastosowano promocję. Możliwe wartości: 0. Kod jednorazowy 1. Kod Vanity  | 
              
promotionCode | 
                
                   
 Kod promocyjny zastosowany przy tym zakupie. To pole jest ustawiane tylko wtedy, gdy podczas zakupu subskrypcji zastosowano promocję z kodem niestandardowym.  | 
              
obfuscatedExternalAccountId | 
                
                   
 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 | 
                
                   
 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.  | 
              
IntroductoryPriceInfo
Zawiera informacje o cenie początkowej subskrypcji.
| Zapis JSON | 
|---|
{ "introductoryPriceCurrencyCode": string, "introductoryPriceAmountMicros": string, "introductoryPricePeriod": string, "introductoryPriceCycles": integer }  | 
              
| Pola | |
|---|---|
introductoryPriceCurrencyCode | 
                
                   
 Kod waluty w formacie ISO 4217 dla ceny subskrypcji wprowadzającej. Jeśli na przykład cena jest podana w funtach brytyjskich, priceCurrencyCode to „GBP”.  | 
              
introductoryPriceAmountMicros | 
                
                   
 Cena wprowadzająca subskrypcji bez podatku. Waluta jest taka sama jak priceCurrencyCode. Cena jest wyrażona w mikrojednostkach, gdzie milion mikrojednostek odpowiada jednej jednostce waluty. Jeśli na przykład cena subskrypcji wynosi 1, 99 PLN, wartość priceAmountMicros to 1990000.  | 
              
introductoryPricePeriod | 
                
                   
 Okres obowiązywania ceny wprowadzającej podany w formacie ISO 8601. Typowe wartości to (między innymi) „P1W” (1 tydzień), „P1M” (1 miesiąc), „P3M” (3 miesiące), „P6M” (6 miesięcy) i „P1Y” (1 rok).  | 
              
introductoryPriceCycles | 
                
                   
 Liczba okresów rozliczeniowych, w których obowiązuje cena początkowa.  | 
              
SubscriptionCancelSurveyResult
Informacje podane przez użytkownika podczas procesu anulowania subskrypcji (ankieta z pytaniem o powód rezygnacji).
| Zapis JSON | 
|---|
{ "cancelSurveyReason": integer, "userInputCancelReason": string }  | 
              
| Pola | |
|---|---|
cancelSurveyReason | 
                
                   
 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. Problemy techniczne 3. Chodzi o koszty 4. Udało mi się znaleźć lepszą aplikację  | 
              
userInputCancelReason | 
                
                   
 Dostosowany powód anulowania podany przez użytkownika. Występuje tylko wtedy, gdy cancelReason ma wartość 0.  | 
              
SubscriptionPriceChange
Zawiera informacje o zmianie ceny subskrypcji, które można wykorzystać do kontrolowania ścieżki użytkownika w aplikacji w przypadku zmiany ceny. Może to być prośba o potwierdzenie od użytkownika lub dostosowanie działania aplikacji w celu zwiększenia skuteczności konwersji.
| Zapis JSON | 
|---|
{
  "newPrice": {
    object ( | 
              
| Pola | |
|---|---|
newPrice | 
                
                   
 Nowa cena, po której subskrypcja zostanie odnowiona, jeśli użytkownik zaakceptuje zmianę ceny.  | 
              
state | 
                
                   
 Obecny stan zmiany ceny. Możliwe wartości: 0. Oczekująca: stan oczekującej zmiany ceny, która wymaga zgody użytkownika. W tym stanie możesz opcjonalnie poprosić użytkownika o potwierdzenie za pomocą interfejsu API w aplikacji. 1. Zaakceptowano: stan zaakceptowanej zmiany ceny, która spowoduje odnowienie subskrypcji, chyba że zostanie ona anulowana. Zmiana ceny zacznie obowiązywać w przyszłości, gdy subskrypcja zostanie odnowiona. Pamiętaj, że zmiana może nie nastąpić przy kolejnym odnowieniu subskrypcji.  | 
              
Metody | 
            |
|---|---|
                
 | 
              Potwierdza zakup subskrypcji. | 
                
 | 
              Anuluje zakup subskrypcji użytkownika. | 
                
 | 
              Odroczenie zakupu subskrypcji użytkownika do określonego czasu wygaśnięcia w przyszłości. | 
                
(deprecated)  | 
              Wycofano: zamiast tego użyj purchases.subscriptionsv2.get. | 
                
(deprecated)  | 
              Wycofano: zamiast tego używaj orders.refund. | 
                
(deprecated)  | 
              Wycofano: zamiast tego użyj purchases.subscriptionsv2.revoke. | 
Kody błędów
Operacje na tym zasobie zwracają te kody błędów HTTP:
| Kod błędu | Przyczyna | Rozdzielczość | 
|---|---|---|
5xx | 
  Ogólny błąd serwera Google Play. | Ponów żądanie.
     Jeśli problem nie ustąpi, skontaktuj się z menedżerem konta Google Play lub prześlij prośbę o pomoc. Sprawdź panel stanu Google Play, aby dowiedzieć się, czy występują znane awarie.  | 
409 | 
  Błąd aktualizacji współbieżnej.
     Podjęto próbę zaktualizowania obiektu, który jest aktualizowany. Na przykład zakup jest potwierdzany przez jednoczesne wywołanie metody   | 
  Ponów żądanie. | 
410 | 
  Nie można już wysłać zapytania o zakup subskrypcji, ponieważ wygasła ona zbyt dawno. | Wyjątek zgłaszany podczas wysyłania zapytania dotyczącego subskrypcji, która wygasła ponad 60 dni temu. Nie wysyłaj już zapytań dotyczących tych subskrypcji. |