REST Resource: externaltransactions

Recurso: Transação Externa

Os detalhes de uma transação externa.

Representação 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,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "oneTimeTransaction": {
    object (OneTimeExternalTransaction)
  },
  "recurringTransaction": {
    object (RecurringExternalTransaction)
  }
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "externalOfferDetails": {
    object (ExternalOfferDetails)
  },
  "externalContentLinkDetails": {
    object (ExternalContentLinkDetails)
  }
  // End of mutually exclusive fields.
}
Campos
packageName

string

Apenas saída. O nome do recurso da transação externa. O nome do pacote do aplicativo no qual os produtos in-app foram vendidos (por exemplo, 'com.some.app').

externalTransactionId

string

Apenas saída. O ID desta transação. Todos os IDs de transação sob o mesmo nome de pacote precisam ser únicos. Definido ao criar a transação externa.

originalPreTaxAmount

object (Price)

Obrigatório. O valor original da transação antes dos impostos. Representa o valor notificado ao Google antes da aplicação de reembolsos.

originalTaxAmount

object (Price)

Obrigatório. O valor original dos tributos. Este valor representa o montante do imposto originalmente notificado ao Google antes de qualquer reembolso ser aplicado.

currentPreTaxAmount

object (Price)

Apenas saída. O valor atual da transação antes dos impostos. Representa o valor atual, incluindo qualquer reembolso que possa ter sido aplicado à transação.

currentTaxAmount

object (Price)

Apenas saída. O valor atual dos tributos. Representa o valor atual, incluindo qualquer reembolso que possa ter sido aplicado à transação.

testPurchase

object (ExternalTransactionTestPurchase)

Apenas saída. Se este campo estiver definido, a transação foi uma compra de teste. O Google não cobra por transações de teste.

transactionTime

string (Timestamp format)

Obrigatório. A data e a hora em que a transação foi concluída.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

createTime

string (Timestamp format)

Apenas saída. A data e a hora em que a transação foi criada. Este é o momento em que o Google foi notificado da transação.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

transactionState

enum (TransactionState)

Apenas saída. O estado atual da transação.

userTaxAddress

object (ExternalTransactionAddress)

Obrigatório. Endereço do usuário para cálculo dos tributos.

transactionProgramCode

integer

Opcional. O código do programa de transação é usado para ajudar a determinar a taxa de serviço para aplicativos elegíveis que participam de programas de parceria. Os desenvolvedores que participam do Programa Play Media Experience (https://play.google.com/console/about/programs/mediaprogram/) precisam informar o código do programa ao relatar transações de faturamento alternativo. Se você for um desenvolvedor qualificado, entre em contato com seu BDM para mais informações sobre como definir esse campo. Observação: este campo não pode ser usado para transações de ofertas externas.

O tipo da transação realizada. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo, um dos campos será definido em uma resposta:
oneTimeTransaction

object (OneTimeExternalTransaction)

Esta é uma transação única, que não faz parte de uma assinatura.

recurringTransaction

object (RecurringExternalTransaction)

Esta transação faz parte de uma série recorrente de transações.

Fim dos campos mutuamente exclusivos.
Detalhes específicos do programa que são necessários para o relatório de transações. Os detalhes só devem ser definidos para o programa associado à transação. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo, um dos campos será definido em uma resposta:
externalOfferDetails

object (ExternalOfferDetails)

Opcional. Detalhes necessários para informar com precisão as transações de ofertas externas.

Fim dos campos mutuamente exclusivos.

ExternalTransactionTestPurchase

Esse tipo não tem campos.

Representa uma transação realizada com uma conta de teste. Essas transações não serão cobradas pelo Google.

OneTimeExternalTransaction

Representa uma transação única.

Representação JSON
{
  "externalTransactionToken": string
}
Campos
externalTransactionToken

string

Somente entrada. Enviado durante a chamada para Create. Recuperado do cliente quando o fluxo de faturamento alternativo é lançado.

RecurringExternalTransaction

Representa uma transação que faz parte de uma série recorrente de pagamentos. Pode ser uma assinatura ou um produto único com vários pagamentos, como uma compra em pré-venda.

Representação JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "initialExternalTransactionId": string,
  "externalTransactionToken": string,
  "migratedTransactionProgram": enum (ExternalTransactionProgram)
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "externalSubscription": {
    object (ExternalSubscription)
  },
  "otherRecurringProduct": {
    object (OtherRecurringProduct)
  }
  // End of mutually exclusive fields.
}
Campos
Confira a seguir uma lista de campos mutuamente exclusivos. No máximo, um dos campos será definido em uma resposta:
initialExternalTransactionId

string

O ID de transação externa da primeira transação desta série recorrente. Por exemplo, para uma assinatura, esse seria o ID da transação do primeiro pagamento. Obrigatório ao criar transações externas recorrentes.

externalTransactionToken

string

Somente entrada. Enviado durante a chamada para Create. Recuperado do cliente quando o fluxo de faturamento alternativo é lançado. Obrigatório apenas para a compra inicial.

migratedTransactionProgram

enum (ExternalTransactionProgram)

Somente entrada. Enviado durante a chamada para Create. Pode ser usado apenas ao migrar uma assinatura de relatórios mensais manuais para relatórios automáticos.

Fim dos campos mutuamente exclusivos.
Obrigatório. Detalhes do produto na transação externa recorrente. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo, um dos campos será definido em uma resposta:
externalSubscription

object (ExternalSubscription)

Detalhes de uma assinatura externa.

otherRecurringProduct

object (OtherRecurringProduct)

Detalhes de um produto de transação externa recorrente que não pertence a nenhuma outra categoria específica.

Fim dos campos mutuamente exclusivos.

ExternalTransactionProgram

Representa o programa de transação externa que o usuário utiliza para concluir a transação.

Tipos enumerados
EXTERNAL_TRANSACTION_PROGRAM_UNSPECIFIED Programa de transação não especificado. Não utilizado.
USER_CHOICE_BILLING Escolha de faturamento do usuário, em que ele pode escolher entre o Google Play Faturamento ou o faturamento gerenciado pelo desenvolvedor.
ALTERNATIVE_BILLING_ONLY Faturamento alternativo apenas, onde os usuários podem usar somente o faturamento para desenvolvedores e gerentes.

ExternalSubscription

Detalhes de uma assinatura externa.

Representação JSON
{
  "subscriptionType": enum (SubscriptionType)
}
Campos
subscriptionType

enum (SubscriptionType)

Obrigatório. O tipo de assinatura externa.

SubscriptionType

Os tipos de uma assinatura externa.

Tipos enumerados
SUBSCRIPTION_TYPE_UNSPECIFIED Não especificado, não use.
RECURRING Trata-se de uma assinatura recorrente, na qual o usuário é cobrado a cada ciclo de faturamento.
PREPAID Esta é uma assinatura pré-paga em que o usuário paga antecipadamente.

OtherRecurringProduct

Esse tipo não tem campos.

Detalhes de um produto de transação externa recorrente que não pertence a nenhuma outra categoria específica.

TransactionState

O estado de uma transação que está sendo realizada.

Tipos enumerados
TRANSACTION_STATE_UNSPECIFIED Estado da transação não especificado. Não utilizado.
TRANSACTION_REPORTED A transação foi reportada com sucesso ao Google.
TRANSACTION_CANCELED A transação foi totalmente reembolsada.

ExternalTransactionAddress

O endereço do usuário para a transação externa.

Representação JSON
{
  "regionCode": string,
  "administrativeArea": string
}
Campos
regionCode

string

Obrigatório. Código regional com duas letras, baseado no ISO-3166-1 Alpha-2 (códigos regionais da ONU).

administrativeArea

string

Opcional. Subdivisão administrativa de nível superior do país/região. Obrigatório somente para transações na Índia. Os valores válidos são "ILHAS ANDAMAN E NICOBAR", "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 E 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 "BENGALA OCIDENTAL".

ExternalOfferDetails

Informações detalhadas sobre o programa de promoções externas.

Representação JSON
{
  "linkType": enum (ExternalOfferLinkType),
  "installedAppPackage": string,
  "installedAppCategory": enum (ExternalOfferAppCategory),
  "appDownloadEventExternalTransactionId": string
}
Campos
installedAppPackage

string

Opcional. O nome do pacote do app baixado por essa transação. Obrigatório quando linkType for LINK_TO_APP_DOWNLOAD.

installedAppCategory

enum (ExternalOfferAppCategory)

Opcional. A categoria do app baixado por esta transação. Essa categoria deve corresponder à categoria fornecida no Play Console durante o processo de verificação de apps externos. Necessário apenas para downloads de apps.

appDownloadEventExternalTransactionId

string

Opcional. O ID da transação externa associada ao evento de download do app por um link externo. Obrigatório ao reportar transações realizadas em aplicativos instalados externamente.

ExternalOfferLinkType

O tipo de link externo.

Tipos enumerados

ExternalOfferAppCategory

Categoria do app baixado. Consulte https://support.google.com/googleplay/android-developer/answer/9859673 para mais informações sobre categorias de apps.

Tipos enumerados
EXTERNAL_OFFER_APP_CATEGORY_UNSPECIFIED Não especificado, não use.
APP O app é classificado na categoria do app.
GAME O app está classificado na categoria de jogos.

ExternalContentLinkDetails

Detalhes de relatórios exclusivos do Programa de Link com Conteúdo Externo.

Representação JSON
{
  "linkType": enum (ExternalContentLinkType),
  "installedAppPackage": string,
  "externalAppCategory": enum (ExternalContentAppCategory)
}
Campos
installedAppPackage

string

Opcional. O nome do pacote do app baixado por essa transação. Obrigatório apenas para instalações de apps.

externalAppCategory

enum (ExternalContentAppCategory)

Opcional. A categoria do app baixado. Ela precisa corresponder à categoria fornecida no Play Console durante o processo de verificação de apps externos. Obrigatório apenas para instalações de apps.

ExternalContentLinkType

O tipo de link externo.

Tipos enumerados

ExternalContentAppCategory

Categoria do app baixado. Consulte https://support.google.com/googleplay/android-developer/answer/9859673 para mais informações sobre categorias de apps.

Tipos enumerados
EXTERNAL_CONTENT_APP_CATEGORY_UNSPECIFIED Não especificado, não use.
APP O app é classificado na categoria do app.
GAME O app está classificado na categoria de jogos.

Métodos

createexternaltransaction

Cria uma nova transação externa.

getexternaltransaction

Recebe uma transação externa.

refundexternaltransaction

Reembolsa total ou parcialmente uma transação externa.

Códigos de erro

As operações deste recurso retornam os seguintes códigos de erro HTTP:

Código do erro Motivo Descrição Resolução