- Zasób: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PriceStepUpConsentDetails
- ConsentState
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- DeferredItemRemoval
- SignupPromotion
- OneTimeCode
- VanityCode
- ItemReplacement
- ReplacementMode
- OutOfAppPurchaseContext
- Metody
Zasób: SubscriptionPurchaseV2
Wskazuje stan zakupu subskrypcji przez użytkownika.
| Zapis JSON |
|---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
| Pola | |
|---|---|
kind |
Ten rodzaj reprezentuje obiekt SubscriptionPurchaseV2 w usłudze androidpublisher. |
regionCode |
Kod kraju lub regionu rozliczeniowego użytkownika w formacie ISO 3166-1 alfa-2 w momencie przyznania subskrypcji. |
lineItems[] |
Informacje o zakupie subskrypcji na poziomie produktu. Wszystkie produkty w ramach tego samego zakupu powinny być objęte abonamentem odnawianym automatycznie lub abonamentem przedpłaconym. |
startTime |
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 zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
subscriptionState |
Bieżący stan subskrypcji. |
latestOrderId |
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 |
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łcanie subskrypcji odnawianej automatycznie w abonament przedpłacony. * Przedłużanie abonamentu przedpłaconego. |
pausedStateContext |
Dodatkowy kontekst dotyczący wstrzymanych subskrypcji. Występuje tylko wtedy, gdy subskrypcja ma obecnie stan SUBSCRIPTION_STATE_PAUSED. |
canceledStateContext |
Dodatkowy kontekst dotyczący anulowanych subskrypcji. Występuje tylko wtedy, gdy subskrypcja ma obecnie stan SUBSCRIPTION_STATE_CANCELED lub SUBSCRIPTION_STATE_EXPIRED. |
testPurchase |
Występuje tylko wtedy, gdy zakup subskrypcji jest zakupem testowym. |
acknowledgementState |
Stan potwierdzenia subskrypcji. |
externalAccountIdentifiers |
Identyfikator konta użytkownika w usłudze zewnętrznej. |
subscribeWithGoogleInfo |
Profil użytkownika powiązany z zakupami dokonanymi za pomocą funkcji „Subskrybuj w Google”. |
outOfAppPurchaseContext |
Dodatkowy kontekst dotyczący zakupów poza aplikacją. Te informacje są dostępne tylko w przypadku ponownego zakupu subskrypcji (zakupu subskrypcji tego samego produktu po wygaśnięciu poprzedniej subskrypcji) dokonanego w centrum subskrypcji Google Play. To pole zostanie usunięte po potwierdzeniu subskrypcji. |
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ą wartość autoRenewEnabled ustawioną na false. |
SUBSCRIPTION_STATE_EXPIRED |
Subskrypcja wygasła. Wszystkie produkty mają wartość expiryTime w przeszłości. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
Oczekująca transakcja dotycząca subskrypcji została anulowana. Jeśli ta oczekująca płatność 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 |
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 zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
CanceledStateContext
Informacje dotyczące subskrypcji w stanie SUBSCRIPTION_STATE_CANCELED lub SUBSCRIPTION_STATE_EXPIRED.
| Zapis JSON |
|---|
{ // Union field |
| Pola | |
|---|---|
Pole zbiorcze cancellation_reason. Powód anulowania subskrypcji. cancellation_reason może mieć tylko jedną z tych wartości: |
|
userInitiatedCancellation |
Subskrypcja została anulowana przez użytkownika. |
systemInitiatedCancellation |
Subskrypcja została anulowana przez system, np. z powodu problemu z płatnością. |
developerInitiatedCancellation |
Subskrypcja została anulowana przez dewelopera. |
replacementCancellation |
Subskrypcja została zastąpiona nową subskrypcją. |
UserInitiatedCancellation
Informacje dotyczące anulowania subskrypcji przez użytkowników.
| Zapis JSON |
|---|
{
"cancelSurveyResult": {
object ( |
| Pola | |
|---|---|
cancelSurveyResult |
Informacje podane przez użytkownika podczas procesu anulowania subskrypcji (ankieta z pytaniem o powód rezygnacji). |
cancelTime |
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 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 zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
CancelSurveyResult
Wynik ankiety anulowania, gdy subskrypcja została anulowana przez użytkownika.
| Zapis JSON |
|---|
{
"reason": enum ( |
| Pola | |
|---|---|
reason |
Powód wybrany przez użytkownika w ankiecie dotyczącej anulowania. |
reasonUserInput |
Stosowane 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 |
Za małe wykorzystanie subskrypcji. |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES |
Problemy techniczne podczas korzystania z aplikacji. |
CANCEL_SURVEY_REASON_COST_RELATED |
Problemy związane z kosztami. |
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 |
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 |
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 został określony za pomocą parametru https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid podczas dokonywania zakupu. |
SubscribeWithGoogleInfo
Informacje związane z zakupami dokonanymi w ramach subskrypcji w Google.
| Zapis JSON |
|---|
{ "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } |
| Pola | |
|---|---|
profileId |
Identyfikator profilu Google użytkownika w momencie zakupu subskrypcji. |
profileName |
Nazwa profilu użytkownika w momencie zakupu subskrypcji. |
emailAddress |
Adres e-mail użytkownika w momencie zakupu subskrypcji. |
givenName |
Imię użytkownika w momencie zakupu subskrypcji. |
familyName |
Nazwisko użytkownika w momencie zakupu subskrypcji. |
SubscriptionPurchaseLineItem
Informacje o zakupie subskrypcji na poziomie produktu.
| Zapis JSON |
|---|
{ "productId": string, "expiryTime": string, "latestSuccessfulOrderId": string, // Union field |
| Pola | |
|---|---|
productId |
Identyfikator zakupionego produktu (np. „monthly001”). |
expiryTime |
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 zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
latestSuccessfulOrderId |
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 odroczony element). |
Pole zbiorcze plan_type. Typ abonamentu. plan_type może mieć tylko jedną z tych wartości: |
|
autoRenewingPlan |
Produkt jest odnawiany automatycznie. |
prepaidPlan |
Produkt jest przedpłacony. |
offerDetails |
Szczegóły oferty tego produktu. |
Pole zbiorcze 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 |
Informacje o odroczonej wymianie produktu. |
deferredItemRemoval |
Informacje o odroczonym usuwaniu elementów. |
signupPromotion |
Szczegóły promocji dotyczące tego produktu. Ustawiany tylko wtedy, gdy podczas rejestracji zastosowano promocję. |
itemReplacement |
Szczegóły zastępowanego produktu. To pole jest wypełniane tylko wtedy, gdy ten produkt zastąpił inny produkt w poprzedniej subskrypcji, i jest dostępne tylko przez 60 dni od zakupu. |
AutoRenewingPlan
Informacje dotyczące abonamentu odnawianego automatycznie.
| Zapis JSON |
|---|
{ "autoRenewEnabled": boolean, "recurringPrice": { object ( |
| Pola | |
|---|---|
autoRenewEnabled |
Jeśli subskrypcja jest obecnie ustawiona na automatyczne odnawianie, np.użytkownik nie anulował subskrypcji. |
recurringPrice |
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ń pod numer |
priceChangeDetails |
Informacje o ostatniej zmianie ceny produktu od momentu zarejestrowania subskrypcji. |
installmentDetails |
Zobowiązanie dotyczące planu ratalnego i informacje o stanie związane z automatycznie odnawianym abonamentem. |
priceStepUpConsentDetails |
Informacje o najnowszej zgodzie na podwyższenie ceny. |
SubscriptionItemPriceChangeDetails
Informacje o zmianie ceny elementu subskrypcji.
| Zapis JSON |
|---|
{ "newPrice": { object ( |
| Pola | |
|---|---|
newPrice |
Nowa cena cykliczna za subskrypcję. |
priceChangeMode |
Tryb zmiany ceny określa, jak zmienia się cena elementu subskrypcji. |
priceChangeState |
Określ, w jakim stanie jest obecnie zmiana ceny. |
expectedNewPriceChargeTime |
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 zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
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 |
Potwierdzono, że zmiana ceny nastąpi w przypadku 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 ( |
| Pola | |
|---|---|
initialCommittedPaymentsCount |
Łączna liczba płatności, do których użytkownik zobowiązał się na początku. |
subsequentCommittedPaymentsCount |
Łą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 |
Łączna liczba płatności w ramach zobowiązania, które pozostały do zapłacenia w tym cyklu odnowienia. |
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.
PriceStepUpConsentDetails
Informacje dotyczące podwyższenia ceny, które wymagają zgody użytkownika.
| Zapis JSON |
|---|
{ "state": enum ( |
| Pola | |
|---|---|
state |
Tylko dane wyjściowe. Stan zgody na podwyższenie ceny. |
consentDeadlineTime |
Termin, do którego użytkownik musi wyrazić zgodę. Jeśli do tego czasu nie wyrazisz zgody, subskrypcja zostanie anulowana. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
newPrice |
nowa cena, która wymaga zgody użytkownika; |
ConsentState
Stan zgody na podwyższenie ceny.
| Wartości w polu enum | |
|---|---|
CONSENT_STATE_UNSPECIFIED |
Nieokreślony stan zgody użytkownika. |
PENDING |
użytkownik nie wyraził jeszcze zgody. |
CONFIRMED |
Użytkownik wyraził zgodę, a nowa cena czeka na wejście w życie. |
COMPLETED |
Użytkownik wyraził zgodę, a nowa cena zaczęła obowiązywać. |
PrepaidPlan
informacje dotyczące abonamentu przedpłaconego;
| Zapis JSON |
|---|
{ "allowExtendAfterTime": string } |
| Pola | |
|---|---|
allowExtendAfterTime |
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 zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
OfferDetails
Informacje o szczegółach oferty związane z elementem zamówienia.
| Zapis JSON |
|---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
| Pola | |
|---|---|
offerTags[] |
Najnowsze tagi oferty powiązane z ofertą. Zawiera tagi odziedziczone z abonamentu podstawowego. |
basePlanId |
Identyfikator abonamentu podstawowego. Występuje we wszystkich abonamentach podstawowych i ofertach. |
offerId |
Identyfikator oferty. Występuje tylko w przypadku ofert z rabatem. |
DeferredItemReplacement
Informacje dotyczące odroczonej wymiany produktu.
| Zapis JSON |
|---|
{ "productId": string } |
| Pola | |
|---|---|
productId |
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 |
| Pola | |
|---|---|
Pole zbiorcze promotion_type. Typ promocji zastosowanej do produktu. promotion_type może mieć tylko jedną z tych wartości: |
|
oneTimeCode |
Zastosowano kod jednorazowy. |
vanityCode |
Zastosowano kod niestandardowy. |
OneTimeCode
Ten typ nie ma pól.
jednorazowy kod promocyjny.
VanityCode
wielokrotnego użytku, zdefiniowany kod promocyjny;
| Zapis JSON |
|---|
{ "promotionCode": string } |
| Pola | |
|---|---|
promotionCode |
Kod promocyjny. |
ItemReplacement
Szczegóły elementu zamówienia subskrypcji, który jest zastępowany.
| Zapis JSON |
|---|
{
"productId": string,
"replacementMode": enum ( |
| Pola | |
|---|---|
productId |
Identyfikator produktu objętego subskrypcją, który jest zastępowany. |
replacementMode |
Tryb wymiany zastosowany podczas zakupu. |
basePlanId |
Identyfikator abonamentu podstawowego zastępowanego elementu zamówienia subskrypcji. |
offerId |
Identyfikator oferty zastępowanego elementu zamówienia subskrypcji (w stosownych przypadkach). |
ReplacementMode
Tryb zastępowania subskrypcji.
| Wartości w polu enum | |
|---|---|
REPLACEMENT_MODE_UNSPECIFIED |
Nieokreślony tryb zastępowania. |
WITH_TIME_PRORATION |
Nowy abonament zostanie przeliczony proporcjonalnie, a środki zostaną przeniesione ze starego abonamentu. |
CHARGE_PRORATED_PRICE |
Użytkownik zostanie obciążony proporcjonalną ceną za nowy pakiet. |
WITHOUT_PRORATION |
Nowy abonament zastąpi stary bez proporcjonalnego rozliczania czasu. |
CHARGE_FULL_PRICE |
Od użytkownika zostanie pobrana pełna cena nowego abonamentu. |
DEFERRED |
Stary abonament zostanie anulowany, a nowy zacznie obowiązywać po wygaśnięciu starego. |
KEEP_EXISTING |
Po wymianie abonament pozostanie bez zmian. |
OutOfAppPurchaseContext
Informacje dotyczące zakupu poza aplikacją.
| Zapis JSON |
|---|
{
"expiredExternalAccountIdentifiers": {
object ( |
| Pola | |
|---|---|
expiredExternalAccountIdentifiers |
Identyfikator konta użytkownika z ostatniej wygasłej subskrypcji tego kodu SKU. |
expiredPurchaseToken |
Token zakupu ostatniej wygasłej subskrypcji. Ten token zakupu może być używany tylko do identyfikowania użytkownika, jeśli w Twojej bazie danych jest przechowywane połączenie między tokenem zakupu a użytkownikiem. Nie można go użyć do wywołania interfejsu Google Developer API, jeśli od wygaśnięcia minęło więcej niż 60 dni. |
Metody |
|
|---|---|
|
Anulowanie zakupu subskrypcji przez użytkownika. |
|
Pobieranie metadanych subskrypcji |
|
Unieważnij zakup subskrypcji użytkownika. |
Kody błędów
Operacje tego zasobu 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 należy już wysyłać zapytań dotyczących tych subskrypcji. |