- 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. |