REST Resource: externaltransactions

Recurso: ExternalTransaction

Los detalles de una transacción externa.

Representación 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

Solo salida. Es el nombre del recurso de la transacción externa. Es el nombre del paquete de la aplicación en la que se vendieron los productos integrados en ella (por ejemplo, "com.algo.app").

externalTransactionId

string

Solo salida. Es el ID de esta transacción. Todos los identificadores de transacción bajo el mismo nombre de paquete deben ser únicos. El valor se define cuando se crea la transacción externa.

originalPreTaxAmount

object (Price)

Obligatorio. El importe original de la transacción antes de impuestos. Esto representa el importe antes de impuestos que se notificó originalmente a Google antes de que se aplicara cualquier reembolso.

originalTaxAmount

object (Price)

Obligatorio. Es el importe original del impuesto. Esto representa el importe del impuesto que se notificó originalmente a Google antes de que se aplicara cualquier reembolso.

currentPreTaxAmount

object (Price)

Solo salida. El importe actual de la transacción antes de impuestos. Esto representa el importe actual antes de impuestos, incluyendo cualquier reembolso que se haya aplicado a esta transacción.

currentTaxAmount

object (Price)

Solo salida. El importe actual del impuesto. Representa el importe actual del impuesto, que incluye cualquier reembolso que se haya efectuado de esta transacción.

testPurchase

object (ExternalTransactionTestPurchase)

Solo salida. Si se definió, esta transacción era una compra de prueba. Google no cobrará ningún cargo por una transacción de prueba.

transactionTime

string (Timestamp format)

Obligatorio. Es la fecha y hora en la que se completó la transacción.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

createTime

string (Timestamp format)

Solo salida. Es la fecha y hora en que se creó esta transacción. Este es el momento en que Google fue notificado de la transacción.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

transactionState

enum (TransactionState)

Solo salida. El estado actual de la transacción.

userTaxAddress

object (ExternalTransactionAddress)

Obligatorio. Dirección del usuario para el cálculo de impuestos.

transactionProgramCode

integer

Opcional. El código del programa de transacciones se utiliza para ayudar a determinar la tarifa de servicio para las aplicaciones elegibles que participan en programas de socios. Los desarrolladores que participan en el programa Play Media Experience (https://play.google.com/console/about/programs/mediaprogram/) deben proporcionar el código del programa al informar sobre transacciones de facturación alternativas. Si usted es un desarrollador que cumple con los requisitos, comuníquese con su gerente de desarrollo de negocios para obtener más información sobre cómo configurar este campo. Nota: Este campo no se puede usar para transacciones de ofertas externas.

El tipo de transacción que se realizó. A continuación, se incluye una lista de campos mutuamente excluyentes. En una respuesta, se establecerá, como máximo, uno de los siguientes campos:
oneTimeTransaction

object (OneTimeExternalTransaction)

Esta es una transacción única y no forma parte de una suscripción.

recurringTransaction

object (RecurringExternalTransaction)

Esta transacción forma parte de una serie recurrente de transacciones.

Fin de los campos mutuamente exclusivos.
Son los detalles específicos del programa que son necesarios para generar informes de transacciones. Los detalles solo deben establecerse para el programa con el que se asocia la transacción. A continuación, se incluye una lista de campos mutuamente excluyentes. En una respuesta, se establecerá, como máximo, uno de los siguientes campos:
externalOfferDetails

object (ExternalOfferDetails)

Opcional. Detalles necesarios para informar con precisión sobre las transacciones de ofertas externas.

Fin de los campos mutuamente exclusivos.

ExternalTransactionTestPurchase

Este tipo no tiene campos.

Representa una transacción realizada utilizando una cuenta de prueba. Google no cobra ningún cargo por estos tipos de transacciones.

OneTimeExternalTransaction

Representa una transacción única.

Representación JSON
{
  "externalTransactionToken": string
}
Campos
externalTransactionToken

string

Solo entrada. Se proporciona durante la llamada a Create. Se recupera del cliente cuando se lanza el flujo de facturación alternativa.

RecurringExternalTransaction

Representa una transacción que forma parte de una serie de pagos recurrentes. Puede tratarse de una suscripción o de un producto único con varios pagos (como una reserva).

Representación 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
A continuación, se incluye una lista de campos mutuamente excluyentes. En una respuesta, se establecerá, como máximo, uno de los siguientes campos:
initialExternalTransactionId

string

Es el ID de la primera transacción externa de esta serie de transacciones recurrentes. Por ejemplo, para una suscripción, sería el ID de transacción del primer pago. Es obligatorio cuando se crean transacciones externas recurrentes.

externalTransactionToken

string

Solo entrada. Se proporciona durante la llamada a Create. Se recupera del cliente cuando se lanza el flujo de facturación alternativa. Requerido únicamente para la compra inicial.

migratedTransactionProgram

enum (ExternalTransactionProgram)

Solo entrada. Se proporciona durante la llamada a Create. Solo debe utilizarse al migrar una suscripción de informes mensuales manuales a informes automatizados.

Fin de los campos mutuamente exclusivos.
Obligatorio. Son los detalles del producto en la transacción externa recurrente. A continuación, se incluye una lista de campos mutuamente excluyentes. En una respuesta, se establecerá, como máximo, uno de los siguientes campos:
externalSubscription

object (ExternalSubscription)

Son los detalles de una suscripción externa.

otherRecurringProduct

object (OtherRecurringProduct)

Son los detalles de un producto de transacción externa recurrente que no pertenece a ninguna otra categoría específica.

Fin de los campos mutuamente exclusivos.

ExternalTransactionProgram

Representa el programa de transacciones externas que utiliza el usuario para completar la transacción.

Enums
EXTERNAL_TRANSACTION_PROGRAM_UNSPECIFIED Programa de transacciones no especificado. No se usa.
USER_CHOICE_BILLING Es la facturación a elección del usuario, en la que este puede elegir entre la Facturación Google Play y la facturación administrada por el desarrollador.
ALTERNATIVE_BILLING_ONLY Solo se permite la facturación alternativa, donde los usuarios solo pueden usar la facturación de desarrollador-administrador.

ExternalSubscription

Son los detalles de una suscripción externa.

Representación JSON
{
  "subscriptionType": enum (SubscriptionType)
}
Campos
subscriptionType

enum (SubscriptionType)

Obligatorio. Es el tipo de suscripción externa.

SubscriptionType

Son los tipos de suscripciones externas.

Enums
SUBSCRIPTION_TYPE_UNSPECIFIED Indica que no se especificó el valor. No se debe usar.
RECURRING Se trata de una suscripción recurrente en la que se cobra al usuario en cada ciclo de facturación.
PREPAID Se trata de una suscripción prepago en la que el usuario paga por adelantado.

OtherRecurringProduct

Este tipo no tiene campos.

Son los detalles de un producto de transacción externa recurrente que no pertenece a ninguna otra categoría más específica.

TransactionState

Es el estado de una transacción que se realiza.

Enums
TRANSACTION_STATE_UNSPECIFIED Indica que no se especificó el estado de la transacción. No se usa.
TRANSACTION_REPORTED La transacción se ha notificado correctamente a Google.
TRANSACTION_CANCELED La transacción ha sido reembolsada en su totalidad.

ExternalTransactionAddress

Es la dirección del usuario para la transacción externa.

Representación JSON
{
  "regionCode": string,
  "administrativeArea": string
}
Campos
regionCode

string

Obligatorio. Código de región de dos letras basado en ISO-3166-1 Alpha-2 (códigos de región de la ONU).

administrativeArea

string

Opcional. Es la subdivisión administrativa principal del país o la región. Solo es obligatorio para transacciones en la India. Los valores válidos son "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" y "WEST BENGAL".

ExternalOfferDetails

Información detallada específica del programa de ofertas externas.

Representación JSON
{
  "linkType": enum (ExternalOfferLinkType),
  "installedAppPackage": string,
  "installedAppCategory": enum (ExternalOfferAppCategory),
  "appDownloadEventExternalTransactionId": string
}
Campos
installedAppPackage

string

Opcional. Es el nombre del paquete de la app que se descargó a través de esta transacción. Se requiere cuando linkType es LINK_TO_APP_DOWNLOAD.

installedAppCategory

enum (ExternalOfferAppCategory)

Opcional. La categoría de la aplicación descargada a través de esta transacción. Debe coincidir con la categoría proporcionada en Play Console durante el proceso de verificación de la aplicación externa. Solo se requiere para las descargas de aplicaciones.

appDownloadEventExternalTransactionId

string

Opcional. Es el ID de transacción externa asociado con el evento de descarga de la app a través de un vínculo externo. Es obligatorio cuando se informan transacciones realizadas en apps instaladas de forma externa.

ExternalOfferLinkType

Es el tipo de vínculo externo.

Enums

ExternalOfferAppCategory

Categoría de la app descargada. Consulta https://support.google.com/googleplay/android-developer/answer/9859673 para obtener más información sobre las categorías de apps.

Enums
EXTERNAL_OFFER_APP_CATEGORY_UNSPECIFIED Indica que no se especificó el valor. No se debe usar.
APP La app se clasifica en la categoría de apps.
GAME La app se clasifica en la categoría de juegos.

ExternalContentLinkDetails

Son los detalles de informes exclusivos del programa de vínculos a contenido externo.

Representación JSON
{
  "linkType": enum (ExternalContentLinkType),
  "installedAppPackage": string,
  "externalAppCategory": enum (ExternalContentAppCategory)
}
Campos
installedAppPackage

string

Opcional. Es el nombre del paquete de la app que se descargó a través de esta transacción. Solo se requiere para las instalaciones de aplicaciones.

externalAppCategory

enum (ExternalContentAppCategory)

Opcional. Es la categoría de la app descargada. Debe coincidir con la categoría proporcionada en Play Console durante el proceso de verificación de la app externa. Solo se requiere para las instalaciones de aplicaciones.

ExternalContentLinkType

Es el tipo de vínculo externo.

Enums

ExternalContentAppCategory

Categoría de la app descargada. Consulta https://support.google.com/googleplay/android-developer/answer/9859673 para obtener más información sobre las categorías de apps.

Enums
EXTERNAL_CONTENT_APP_CATEGORY_UNSPECIFIED Indica que no se especificó el valor. No se debe usar.
APP La app se clasifica en la categoría de apps.
GAME La app se clasifica en la categoría de juegos.

Métodos

createexternaltransaction

Crea una nueva transacción externa.

getexternaltransaction

Obtiene una transacción externa existente.

refundexternaltransaction

Reembolsa completa o parcialmente una transacción externa existente.

Códigos de error

Las operaciones con este recurso devuelven los siguientes códigos de error HTTP:

Código de error Motivo Descripción Solución