REST Resource: externaltransactions

Risorsa: ExternalTransaction

I dettagli di una transazione esterna.

Rappresentazione 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.
}
Campi
packageName

string

Solo output. Il nome della risorsa della transazione esterna. Il nome del pacchetto dell'applicazione in cui sono stati venduti i prodotti in-app (ad esempio "com.some.app").

externalTransactionId

string

Solo output. L'ID di questa transazione. Tutti gli ID transazione con lo stesso nome del pacchetto devono essere univoci. Impostato durante la creazione della transazione esterna.

originalPreTaxAmount

object (Price)

Obbligatorio. L'importo originale della transazione al lordo delle imposte. Rappresenta l'importo al lordo delle imposte originariamente comunicato a Google prima dell'applicazione di eventuali rimborsi.

originalTaxAmount

object (Price)

Obbligatorio. L'importo originale della tassa. Rappresenta l'importo delle tasse originariamente comunicato a Google prima dell'applicazione di eventuali rimborsi.

currentPreTaxAmount

object (Price)

Solo output. L'importo attuale della transazione al lordo delle imposte. Rappresenta l'importo attuale al lordo delle imposte, inclusi eventuali rimborsi che potrebbero essere stati applicati a questa transazione.

currentTaxAmount

object (Price)

Solo output. L'importo attuale della tassa. Rappresenta l'importo attuale delle imposte, inclusi eventuali rimborsi applicati a questa transazione.

testPurchase

object (ExternalTransactionTestPurchase)

Solo output. Se impostata, questa transazione era un acquisto di prova. Google non addebiterà alcun costo per una transazione di prova.

transactionTime

string (Timestamp format)

Obbligatorio. L'ora in cui è stata completata la transazione.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

createTime

string (Timestamp format)

Solo output. L'ora in cui è stata creata questa transazione. Questo è il momento in cui Google ha ricevuto la notifica della transazione.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

transactionState

enum (TransactionState)

Solo output. Lo stato attuale della transazione.

userTaxAddress

object (ExternalTransactionAddress)

Obbligatorio. Indirizzo dell'utente per il calcolo delle imposte.

transactionProgramCode

integer

Facoltativo. Il codice del programma di transazione, utilizzato per determinare la commissione di servizio per le app idonee che partecipano ai programmi partner. Gli sviluppatori che partecipano al programma Esperienza multimediale Play (https://play.google.com/console/about/programs/mediaprogram/) devono fornire il codice del programma quando segnalano le transazioni di fatturazione alternativa. Se sei uno sviluppatore idoneo, contatta il tuo BDM per ulteriori informazioni su come impostare questo campo. Nota: questo campo non può essere utilizzato per le transazioni di offerte esterne.

Campo unione transaction_type. Il tipo di transazione eseguita. transaction_type può essere solo uno dei seguenti:
oneTimeTransaction

object (OneTimeExternalTransaction)

Si tratta di una transazione una tantum e non fa parte di un abbonamento.

recurringTransaction

object (RecurringExternalTransaction)

Questa transazione fa parte di una serie ricorrente di transazioni.

ExternalTransactionTestPurchase

Questo tipo non contiene campi.

Rappresenta una transazione eseguita utilizzando un account di prova. Queste transazioni non verranno addebitate da Google.

OneTimeExternalTransaction

Rappresenta una transazione una tantum.

Rappresentazione JSON
{
  "externalTransactionToken": string
}
Campi
externalTransactionToken

string

Solo input. Fornito durante la chiamata a Crea. Recuperato dal cliente all'avvio del flusso di fatturazione alternativo.

RecurringExternalTransaction

Rappresenta una transazione che fa parte di una serie ricorrente di pagamenti. Può trattarsi di un abbonamento o di un prodotto una tantum con più pagamenti (ad esempio un preordine).

Rappresentazione 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.
}
Campi

Campo unione source.

source può essere solo uno dei seguenti:

initialExternalTransactionId

string

L'ID transazione esterno della prima transazione di questa serie ricorrente di transazioni. Ad esempio, per un abbonamento si tratta dell'ID transazione del primo pagamento. Obbligatorio quando crei transazioni esterne ricorrenti.

externalTransactionToken

string

Solo input. Fornito durante la chiamata a Crea. Recuperato dal cliente all'avvio del flusso di fatturazione alternativo. Richiesto solo per l'acquisto iniziale.

migratedTransactionProgram

enum (ExternalTransactionProgram)

Solo input. Fornito durante la chiamata a Crea. Deve essere utilizzato solo durante la migrazione di un abbonamento dalla generazione di report mensili manuali a quella automatica.

Campo unione product_details. Obbligatorio. Dettagli del prodotto nella transazione esterna ricorrente. product_details può essere solo uno dei seguenti:
externalSubscription

object (ExternalSubscription)

Dettagli di un abbonamento esterno.

otherRecurringProduct

object (OtherRecurringProduct)

Dettagli di un prodotto di transazione esterna ricorrente che non appartiene a nessun'altra categoria specifica.

ExternalTransactionProgram

Rappresenta il programma per transazioni esterne utilizzato dall'utente per completare la transazione.

Enum
EXTERNAL_TRANSACTION_PROGRAM_UNSPECIFIED Programma di transazioni non specificato. Non utilizzato.
USER_CHOICE_BILLING Fatturazione scelta dall'utente, in cui un utente può scegliere tra la Fatturazione Google Play e la fatturazione gestita dallo sviluppatore.
ALTERNATIVE_BILLING_ONLY Solo fatturazione alternativa, in cui gli utenti possono utilizzare solo la fatturazione del gestore sviluppatore.

ExternalSubscription

Dettagli di un abbonamento esterno.

Rappresentazione JSON
{
  "subscriptionType": enum (SubscriptionType)
}
Campi
subscriptionType

enum (SubscriptionType)

Obbligatorio. Il tipo di abbonamento esterno.

SubscriptionType

I tipi di abbonamento esterno.

Enum
SUBSCRIPTION_TYPE_UNSPECIFIED Non specificato, non utilizzare.
RECURRING Si tratta di un abbonamento ricorrente in cui all'utente viene addebitato un importo ogni ciclo di fatturazione.
PREPAID Si tratta di un abbonamento prepagato in cui l'utente paga in anticipo.

OtherRecurringProduct

Questo tipo non contiene campi.

Dettagli di un prodotto di transazione esterna ricorrente che non appartiene a nessun'altra categoria più specifica.

TransactionState

Lo stato di una transazione in corso.

Enum
TRANSACTION_STATE_UNSPECIFIED Stato della transazione non specificato. Non utilizzato.
TRANSACTION_REPORTED La transazione è stata segnalata correttamente a Google.
TRANSACTION_CANCELED La transazione è stata rimborsata interamente.

ExternalTransactionAddress

L'indirizzo dell'utente per la transazione esterna.

Rappresentazione JSON
{
  "regionCode": string,
  "administrativeArea": string
}
Campi
regionCode

string

Obbligatorio. Codice regione di due lettere basato su ISO-3166-1 Alpha-2 (codici regione ONU).

administrativeArea

string

Facoltativo. Suddivisione amministrativa di primo livello del paese/della regione. Richiesto solo per le transazioni in India. I valori validi sono "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" e "WEST BENGAL".

Metodi

createexternaltransaction

Crea una nuova transazione esterna.

getexternaltransaction

Recupera una transazione esterna esistente.

refundexternaltransaction

Rimborsa o rimborsa parzialmente una transazione esterna esistente.

Codici di errore

Le operazioni di questa risorsa restituiscono i seguenti codici di errore HTTP:

Codice di errore Motivo Risoluzione
5xx Errore generico nel server Google Play. Riprova a inviare la richiesta.

Se il problema persiste, contatta il tuo Account Manager Google Play o invia una richiesta di assistenza. Ti consigliamo di controllare la dashboard dello stato di Play per eventuali interruzioni note.

409 Errore di aggiornamento della concorrenza.

È stato effettuato un tentativo di aggiornamento di un oggetto in fase di aggiornamento. Ad esempio, un acquisto viene confermato chiamando il metodo acknowledgePurchase() della libreria Fatturazione Play e chiamando contemporaneamente il metodo purchases.products.acknowledge dell'API Play Developer.

Riprova a inviare la richiesta.