REST Resource: externaltransactions

Zasób: ExternalTransaction

Szczegóły transakcji zewnętrznej.

Zapis JSON
{
  "packageName": string,
  "externalTransactionId": string,
  "originalPreTaxAmount": {
    object (Price)
  },
  "originalTaxAmount": {
    object (Price)
  },
  "currentPreTaxAmount": {
    object (Price)
  },
  "currentTaxAmount": {
    object (Price)
  },
  "testPurchase": {
    object (ExternalTransactionTestPurchase)
  },
  "transactionTime": string,
  "createTime": string,
  "transactionState": enum (TransactionState),
  "userTaxAddress": {
    object (ExternalTransactionAddress)
  },
  "transactionProgramCode": integer,

  // Union field transaction_type can be only one of the following:
  "oneTimeTransaction": {
    object (OneTimeExternalTransaction)
  },
  "recurringTransaction": {
    object (RecurringExternalTransaction)
  }
  // End of list of possible types for union field transaction_type.
}
Pola
packageName

string

Tylko dane wyjściowe. Nazwa zasobu transakcji zewnętrznej. Nazwa pakietu aplikacji, w której sprzedano produkty w aplikacji (np. „com.some.app”).

externalTransactionId

string

Tylko dane wyjściowe. Identyfikator tej transakcji. Wszystkie identyfikatory transakcji w ramach tej samej nazwy pakietu muszą być niepowtarzalne. Ustawiany podczas tworzenia transakcji zewnętrznej.

originalPreTaxAmount

object (Price)

Wymagane. Kwota pierwotnej transakcji przed opodatkowaniem. Jest to kwota przed opodatkowaniem, o której pierwotnie poinformowano Google przed zastosowaniem jakichkolwiek zwrotów środków.

originalTaxAmount

object (Price)

Wymagane. Pierwotna kwota podatku. Jest to kwota podatku, o której Google zostało pierwotnie powiadomione przed zastosowaniem jakichkolwiek zwrotów środków.

currentPreTaxAmount

object (Price)

Tylko dane wyjściowe. Bieżąca kwota transakcji przed opodatkowaniem. Jest to bieżąca kwota przed opodatkowaniem, która obejmuje wszelkie zwroty środków zastosowane w tej transakcji.

currentTaxAmount

object (Price)

Tylko dane wyjściowe. Aktualna kwota podatku. Jest to aktualna kwota podatku, w tym wszelkie zwroty, które mogły zostać zastosowane w tej transakcji.

testPurchase

object (ExternalTransactionTestPurchase)

Tylko dane wyjściowe. Jeśli ta wartość jest ustawiona, transakcja była zakupem testowym. Google nie pobierze opłaty za transakcję testową.

transactionTime

string (Timestamp format)

Wymagane. Czas ukończenia transakcji.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

createTime

string (Timestamp format)

Tylko dane wyjściowe. Czas utworzenia tej transakcji. Jest to czas, w którym Google otrzymało powiadomienie o transakcji.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

transactionState

enum (TransactionState)

Tylko dane wyjściowe. Bieżący stan transakcji.

userTaxAddress

object (ExternalTransactionAddress)

Wymagane. Adres użytkownika do obliczania podatku.

transactionProgramCode

integer

Opcjonalnie: Kod programu transakcji, który pomaga określić opłatę za obsługę w przypadku kwalifikujących się aplikacji uczestniczących w programach partnerskich. Deweloperzy biorący udział w programie Play Media Experience (https://play.google.com/console/about/programs/mediaprogram/) muszą podać kod programu podczas zgłaszania transakcji rozliczeń alternatywnych. Jeśli jesteś deweloperem spełniającym wymagania, skontaktuj się z menedżerem ds. rozwoju biznesu, aby dowiedzieć się więcej o tym, jak ustawić to pole. Uwaga: tego pola nie można używać w przypadku transakcji dotyczących ofert zewnętrznych.

Pole zbiorcze transaction_type. Typ wykonanej transakcji. transaction_type może mieć tylko jedną z tych wartości:
oneTimeTransaction

object (OneTimeExternalTransaction)

Jest to transakcja jednorazowa, która nie jest częścią subskrypcji.

recurringTransaction

object (RecurringExternalTransaction)

Ta transakcja jest częścią cyklicznej serii transakcji.

ExternalTransactionTestPurchase

Ten typ nie ma pól.

Reprezentuje transakcję przeprowadzoną za pomocą konta testowego. Google nie obciąży Cię opłatą za te transakcje.

OneTimeExternalTransaction

Dotyczy transakcji jednorazowej.

Zapis JSON
{
  "externalTransactionToken": string
}
Pola
externalTransactionToken

string

Tylko dane wejściowe. Podawane podczas wywołania funkcji Create. Pobierane od klienta po uruchomieniu procesu rozliczeń alternatywnych.

RecurringExternalTransaction

Reprezentuje transakcję, która jest częścią cyklicznej serii płatności. Może to być subskrypcja lub produkt jednorazowy z wieloma płatnościami (np. zamówienie w przedsprzedaży).

Zapis JSON
{

  // Union field source can be only one of the following:
  "initialExternalTransactionId": string,
  "externalTransactionToken": string,
  "migratedTransactionProgram": enum (ExternalTransactionProgram)
  // End of list of possible types for union field source.

  // Union field product_details can be only one of the following:
  "externalSubscription": {
    object (ExternalSubscription)
  },
  "otherRecurringProduct": {
    object (OtherRecurringProduct)
  }
  // End of list of possible types for union field product_details.
}
Pola

Pole zbiorcze source.

Pole source może mieć tylko jedną z tych wartości:

initialExternalTransactionId

string

Zewnętrzny identyfikator transakcji pierwszej transakcji z tej cyklicznej serii transakcji. W przypadku subskrypcji będzie to np. identyfikator transakcji pierwszej płatności. Wymagane podczas tworzenia cyklicznych transakcji zewnętrznych.

externalTransactionToken

string

Tylko dane wejściowe. Podawane podczas wywołania funkcji Create. Pobierane od klienta po uruchomieniu procesu rozliczeń alternatywnych. Wymagane tylko w przypadku zakupu początkowego.

migratedTransactionProgram

enum (ExternalTransactionProgram)

Tylko dane wejściowe. Podawane podczas wywołania funkcji Create. Musi być używany tylko podczas przenoszenia subskrypcji z ręcznego raportowania miesięcznego na raportowanie automatyczne.

Pole zbiorcze product_details. Wymagane. Szczegóły produktu w powtarzającej się transakcji zewnętrznej. product_details może mieć tylko jedną z tych wartości:
externalSubscription

object (ExternalSubscription)

Szczegóły subskrypcji zewnętrznej.

otherRecurringProduct

object (OtherRecurringProduct)

Szczegóły produktu dotyczącego cyklicznej transakcji zewnętrznej, który nie należy do żadnej innej kategorii.

ExternalTransactionProgram

Określa program transakcji zewnętrznych, w którym użytkownik dokonał transakcji.

Wartości w polu enum
EXTERNAL_TRANSACTION_PROGRAM_UNSPECIFIED Nieokreślony program transakcyjny. Nie używane.
USER_CHOICE_BILLING System rozliczeniowy oparty na wyborze użytkownika, w którym użytkownik może wybrać między Płatnościami w Google Play a systemem rozliczeniowym zarządzanym przez dewelopera.
ALTERNATIVE_BILLING_ONLY Tylko alternatywne systemy rozliczeniowe, w których użytkownicy mogą korzystać tylko z rozliczeń konta menedżera dewelopera.

ExternalSubscription

Szczegóły subskrypcji zewnętrznej.

Zapis JSON
{
  "subscriptionType": enum (SubscriptionType)
}
Pola
subscriptionType

enum (SubscriptionType)

Wymagane. Typ subskrypcji zewnętrznej.

SubscriptionType

Typy subskrypcji zewnętrznych.

Wartości w polu enum
SUBSCRIPTION_TYPE_UNSPECIFIED Nie określono, nie używać.
RECURRING Jest to subskrypcja cykliczna, w przypadku której użytkownik jest obciążany opłatą w każdym cyklu rozliczeniowym.
PREPAID Jest to subskrypcja przedpłacona, za którą użytkownik płaci z góry.

OtherRecurringProduct

Ten typ nie ma pól.

Szczegóły dotyczące produktu związanego z cykliczną transakcją zewnętrzną, który nie należy do żadnej innej, bardziej szczegółowej kategorii.

TransactionState

Stan transakcji.

Wartości w polu enum
TRANSACTION_STATE_UNSPECIFIED Nieokreślony stan transakcji. Nie używane.
TRANSACTION_REPORTED Transakcja została zgłoszona do Google.
TRANSACTION_CANCELED Środki za transakcję zostały w pełni zwrócone.

ExternalTransactionAddress

Adres użytkownika w przypadku transakcji zewnętrznej.

Zapis JSON
{
  "regionCode": string,
  "administrativeArea": string
}
Pola
regionCode

string

Wymagane. Dwuliterowy kod regionu zgodny z normą ISO-3166-1 Alpha-2 (kody regionów ONZ).

administrativeArea

string

Opcjonalnie: Najwyższy poziom podziału administracyjnego kraju lub regionu. Wymagane tylko w przypadku transakcji w Indiach. Prawidłowe wartości to „ANDAMAN AND NICOBAR ISLANDS”, „ANDHRA PRADESH”, „ARUNACHAL PRADESH”, „ASSAM”, „BIHAR”, „CHANDIGARH”, „CHHATTISGARH”, „DADRA AND NAGAR HAVELI”, „DADRA AND NAGAR HAVELI AND DAMAN AND DIU”, „DAMAN AND DIU”, „DELHI”, „GOA”, „GUJARAT”, „HARYANA”, „HIMACHAL PRADESH”, „JAMMU AND KASHMIR”, „JHARKHAND”, „KARNATAKA”, „KERALA”, „LADAKH”, „LAKSHADWEEP”, „MADHYA PRADESH”, „MAHARASHTRA”, „MANIPUR”, „MEGHALAYA”, „MIZORAM”, „NAGALAND”, „ODISHA”, „PUDUCHERRY”, „PUNJAB”, „RAJASTHAN”, „SIKKIM”, „TAMIL NADU”, „TELANGANA”, „TRIPURA”, „UTTAR PRADESH”, „UTTARAKHAND” i „WEST BENGAL”.

Metody

createexternaltransaction

Tworzy nową transakcję zewnętrzną.

getexternaltransaction

Pobiera istniejącą transakcję zewnętrzną.

refundexternaltransaction

Zwraca środki lub częściowo zwraca środki za istniejącą transakcję zewnętrzną.

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 acknowledgePurchase() Biblioteki płatności w Play i metody purchases.products.acknowledge interfejsu Play Developer API.

Ponów żądanie.