REST Resource: purchases.products

Zasób: ProductPurchase

Zasób ProductPurchase wskazuje stan zakupu produktu w aplikacji przez użytkownika.

Zapis JSON
{
  "kind": string,
  "purchaseTimeMillis": string,
  "purchaseState": integer,
  "consumptionState": integer,
  "developerPayload": string,
  "orderId": string,
  "purchaseType": integer,
  "acknowledgementState": integer,
  "purchaseToken": string,
  "productId": string,
  "quantity": integer,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "refundableQuantity": integer
}
Pola
kind

string

Ten rodzaj reprezentuje obiekt inappPurchase w usłudze androidpublisher.

purchaseTimeMillis

string (int64 format)

Czas zakupu produktu w milisekundach od początku epoki (1 stycznia 1970 r.).

purchaseState

integer

Stan zakupu zamówienia. Możliwe wartości: 0. Kupiono 1. Anulowano 2. Oczekuje

consumptionState

integer

Stan wykorzystania produktu w aplikacji. Możliwe wartości: 0. Jeszcze nie zużyto 1. Skonsumowano

developerPayload

string

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

orderId

string

Identyfikator zamówienia powiązany z zakupem produktu w aplikacji.

purchaseType

integer

Rodzaj zakupu produktu w aplikacji. 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). Nie obejmuje zakupów w ramach programu Play Points. 2. Nagrodzone (czyli uzyskane za obejrzenie reklamy wideo zamiast za płatność)

acknowledgementState

integer

Stan potwierdzenia produktu w aplikacji. Możliwe wartości: 0. Niepotwierdzone 1. Potwierdzono

purchaseToken

string

Token zakupu wygenerowany w celu identyfikacji tego zakupu. Może nie być obecna.

productId

string

Kod SKU produktu w aplikacji. Może nie być obecna.

quantity

integer

Liczba powiązana z zakupem produktu w aplikacji. Jeśli nie jest obecna, ilość wynosi 1.

obfuscatedExternalAccountId

string

Zaciemniona wersja identyfikatora, który jest jednoznacznie powiązany z kontem użytkownika w Twojej aplikacji. Występuje tylko wtedy, gdy 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.

regionCode

string

Kod regionu rozliczeniowego użytkownika w formacie ISO 3166-1 alfa-2 w momencie przyznania produktu.

refundableQuantity

integer

Liczba produktów kwalifikujących się do zwrotu, czyli liczba produktów, za które nie zwrócono jeszcze środków. Wartość odzwierciedla częściowe zwroty środków za zamówienia z większą liczbą produktów i pełne zwroty środków.

Metody

acknowledge

Potwierdza zakup produktu w aplikacji.

consume

Zrealizuj zakup produktu w aplikacji.

get

Sprawdza stan zakupu i wykorzystania produktu w aplikacji.

Kody błędów

Operacje na tym zasobie zwracają te kody błędów HTTP:

Kod błędu Przyczyna Opis Rozdzielczość
400 invalidPurchaseState Zakup nie jest w prawidłowym stanie, aby wykonać żądaną operację. Możesz na przykład próbować potwierdzić zakup, który został już wykorzystany, lub anulować subskrypcję, która nie jest aktywna. Przed podjęciem próby wykonania operacji sprawdź bieżący stan zasobu za pomocą odpowiedniego interfejsu Get API. Upewnij się, że zasób jest w odpowiednim stanie do wykonania działania.
400 invalidValue W żądaniu podano nieprawidłową wartość. Często jest zwracany w przypadku nieprawidłowego lub nieprawidłowo sformatowanego tokena zakupu. Popraw nieprawidłową wartość pola w treści żądania lub w parametrach na podstawie dokumentacji API.
400 productNotOwnedByUser Podany token zakupu jest prawidłowy, ale użytkownik nie jest obecnie właścicielem produktu. Może się tak zdarzyć, jeśli zakup został zwrócony, anulowany lub wygasł przed potwierdzeniem. Przed podjęciem próby wykonania operacji sprawdź bieżący stan zasobu za pomocą odpowiedniego interfejsu Get API. Upewnij się, że zasób jest w odpowiednim stanie do wykonania działania.
400 purchaseTokenMismatch Podany token zakupu nie pasuje do zakupu, nazwy pakietu, identyfikatora subskrypcji ani identyfikatora produktu. Sprawdź, czy wszystkie szczegóły w prośbie są prawidłowe i zgodne ze sobą.
400 required W żądaniu brakuje wymaganego pola lub parametru. Zapoznaj się z dokumentacją interfejsu API, aby upewnić się, że uwzględniono wszystkie obowiązkowe pola i parametry.
400 unsupportedIabType Ta operacja nie jest obsługiwana w przypadku danego typu płatności w aplikacji. Sprawdź, czy metoda interfejsu API jest zgodna z typem zarządzanego elementu.
403 userInsufficientPermission Użytkownik nie ma wystarczających uprawnień do wykonania żądanej operacji. Sprawdź, czy uwierzytelniony użytkownik ma niezbędne uprawnienia w Konsoli Google Play. Więcej informacji znajdziesz w artykule Korzystanie z konta usługi.
404 notFound Nie znaleziono żądanego zasobu. Sprawdź, czy identyfikatory (np. token zakupu, nazwa pakietu, identyfikator produktu, identyfikator subskrypcji) są prawidłowe.
409 concurrentUpdate Podjęto próbę zaktualizowania obiektu, który jest aktualizowany równolegle. Ponów próbę wysłania żądania ze wzrastającym czasem do ponowienia. Unikaj jednoczesnego modyfikowania tego samego zasobu.
5xx Generic error 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.