REST Resource: orders

  • OneTimePurchaseDetails
  • RentalDetails
  • SubscriptionDetails
  • OfferPhase
  • PaidAppDetails
  • OrderHistory
  • ProcessedEvent
  • CancellationEvent
  • RefundEvent
  • RefundDetails
  • RefundReason
  • PartialRefundEvent
  • Estado
  • PointsDetails
  • Métodos
  • Recurso: Pedido

    El recurso Order encapsula información integral sobre una transacción realizada en Google Play. Incluye una variedad de atributos que proporcionan detalles sobre el pedido en sí, los productos comprados y el historial de eventos relacionados con el pedido.

    Las APIs de Orders proporcionan acceso en tiempo real a los datos de tus pedidos dentro del ecosistema de Google Play. Puedes recuperar información detallada y metadatos de pedidos únicos y recurrentes, incluidos los detalles de las transacciones, como cargos, impuestos y reembolsos, así como metadatos, como las fases de precios de las suscripciones. Las APIs de Orders te permiten automatizar tareas relacionadas con la administración de pedidos, lo que reduce la necesidad de realizar verificaciones manuales a través de Play Console.

    Estos son algunos de los casos de uso de esta API:

    • Recuperación de datos de pedidos en tiempo real: orders.get recupera los detalles y los metadatos de un pedido inmediatamente después de una compra con un ID de pedido.

    • Sincronización de actualizaciones de pedidos: Sincroniza periódicamente las actualizaciones de pedidos para mantener un registro actualizado de la información de los pedidos.

    Nota:

    • Las llamadas a la API de Orders se incluyen en tu cuota de la API de Play Developer, que tiene un valor predeterminado de 200, 000 por día y puede ser insuficiente para sincronizar historiales de pedidos extensos.

    • Se puede recuperar un máximo de 1,000 pedidos por llamada. Se recomienda usar tamaños de página más grandes para minimizar el uso de la cuota. Verifica tu cuota en la consola de Cloud y solicita más si es necesario.

    Representación JSON
    {
      "lineItems": [
        {
          object (LineItem)
        }
      ],
      "orderId": string,
      "purchaseToken": string,
      "state": enum (State),
      "createTime": string,
      "lastEventTime": string,
      "buyerAddress": {
        object (BuyerAddress)
      },
      "total": {
        object (Money)
      },
      "tax": {
        object (Money)
      },
      "orderDetails": {
        object (OrderDetails)
      },
      "orderHistory": {
        object (OrderHistory)
      },
      "developerRevenueInBuyerCurrency": {
        object (Money)
      },
      "pointsDetails": {
        object (PointsDetails)
      }
    }
    Campos
    lineItems[]

    object (LineItem)

    Son los conceptos individuales que componen este pedido.

    orderId

    string

    Es el ID del pedido.

    purchaseToken

    string

    Es el token que se envió al dispositivo del usuario cuando se compró la suscripción o el elemento.

    state

    enum (State)

    Es el estado del pedido.

    createTime

    string (Timestamp format)

    Es la fecha y hora en que se creó el pedido.

    Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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".

    lastEventTime

    string (Timestamp format)

    Es la fecha y hora del último evento que ocurrió en el pedido.

    Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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".

    buyerAddress

    object (BuyerAddress)

    Es la información de la dirección del cliente para el cálculo de impuestos. Cuando Google es el comerciante oficial del pedido, solo se muestra el país.

    total

    object (Money)

    Es el importe final que pagó el cliente considerando impuestos y descuentos.

    tax

    object (Money)

    Es el impuesto total pagado como parte de este pedido.

    orderDetails

    object (OrderDetails)

    Es la información detallada del pedido en el momento de su creación.

    orderHistory

    object (OrderHistory)

    Son los detalles de los eventos que modificaron el pedido.

    developerRevenueInBuyerCurrency

    object (Money)

    Tus ingresos por este pedido en la moneda del comprador, incluidas las deducciones de reembolsos parciales, impuestos y comisiones. Google deduce las tarifas estándar de la transacción y cargos de terceros por cada venta, incluido el IVA en algunas regiones.

    pointsDetails

    object (PointsDetails)

    Puntos de Play aplicados al pedido, incluida la información de la oferta, el porcentaje de descuento y los valores de los puntos.

    Estado

    Es el estado del pedido.

    Enumeraciones
    STATE_UNSPECIFIED Indica que no se especificó el estado. Este valor no se usa.
    PENDING Se creó el pedido y se espera su procesamiento.
    PROCESSED El pedido se procesó correctamente.
    CANCELED El pedido se canceló antes de su procesamiento.
    PENDING_REFUND Se espera el procesamiento del reembolso solicitado.
    PARTIALLY_REFUNDED Se reembolsó parte del importe del pedido.
    REFUNDED Se reembolsó el importe total del pedido.

    BuyerAddress

    Es la información de la dirección del cliente para el cálculo de impuestos.

    Representación JSON
    {
      "buyerState": string,
      "buyerCountry": string,
      "buyerPostcode": string
    }
    Campos
    buyerState

    string

    Es la subdivisión administrativa principal del país al que corresponde la dirección del comprador. Cuando Google es el comerciante oficial del pedido, no se incluye esta información.

    buyerCountry

    string

    Es el código de país de dos letras según la norma ISO-3166-1 Alpha-2 (códigos de país de Naciones Unidas).

    buyerPostcode

    string

    Es el código postal de una dirección. Cuando Google es el comerciante oficial del pedido, no se incluye esta información.

    OrderDetails

    Es la información detallada del pedido en el momento de su creación.

    Representación JSON
    {
      "taxInclusive": boolean
    }
    Campos
    taxInclusive

    boolean

    Indica si el precio indicado incluía impuestos o no.

    LineItem

    Son los detalles de un concepto.

    Representación JSON
    {
      "productTitle": string,
      "productId": string,
      "listingPrice": {
        object (Money)
      },
      "total": {
        object (Money)
      },
      "tax": {
        object (Money)
      },
    
      // Union field details can be only one of the following:
      "oneTimePurchaseDetails": {
        object (OneTimePurchaseDetails)
      },
      "subscriptionDetails": {
        object (SubscriptionDetails)
      },
      "paidAppDetails": {
        object (PaidAppDetails)
      }
      // End of list of possible types for union field details.
    }
    Campos
    productTitle

    string

    Es el nombre del producto que especificó el desarrollador. Se muestra según la configuración regional del comprador. Ejemplo: monedas, suscripción mensual, etcétera.

    productId

    string

    Es el ID del producto comprado o el SKU en la app (por ejemplo, "mensual001" o "com.alguna.cosa.enlaapp1").

    listingPrice

    object (Money)

    Es el precio del elemento que se indica en Play Store. Puede incluir impuestos o no. No incluye descuentos ni promociones.

    total

    object (Money)

    Es el importe total que pagó el usuario por este concepto, considerando impuestos y descuentos.

    tax

    object (Money)

    Es el impuesto pagado por este concepto.

    Campo de unión details.

    details puede ser una de las siguientes opciones:

    oneTimePurchaseDetails

    object (OneTimePurchaseDetails)

    Son los detalles de una compra única.

    subscriptionDetails

    object (SubscriptionDetails)

    Son los detalles de la compra de una suscripción.

    paidAppDetails

    object (PaidAppDetails)

    Son los detalles de la compra de una app pagada.

    OneTimePurchaseDetails

    Son los detalles de una compra única.

    Representación JSON
    {
      "quantity": integer,
      "offerId": string,
      "purchaseOptionId": string,
      "rentalDetails": {
        object (RentalDetails)
      }
    }
    Campos
    quantity

    integer

    Es la cantidad de elementos comprados (para compras de distintas cantidades de elementos).

    offerId

    string

    Es el ID de la oferta de compra única.

    purchaseOptionId

    string

    ID de la opción de compra. Este campo se configura para las opciones de compra y las ofertas de variantes. En el caso de las opciones de compra, este ID identifica la opción de compra en sí. En el caso de las ofertas de variantes, este ID hace referencia a la opción de compra asociada y, junto con offerId, identifica la oferta de variante.

    rentalDetails

    object (RentalDetails)

    Son los detalles de la compra de un alquiler. Solo se establece si se trata de una compra de alquiler.

    RentalDetails

    Este tipo no tiene campos.

    Son los detalles de la compra de un alquiler.

    SubscriptionDetails

    Son los detalles de la compra de una suscripción.

    Representación JSON
    {
      "basePlanId": string,
      "offerId": string,
      "offerPhase": enum (OfferPhase),
      "servicePeriodStartTime": string,
      "servicePeriodEndTime": string
    }
    Campos
    basePlanId

    string

    Es el ID del plan básico de la suscripción.

    offerId

    string

    Es el ID de la oferta de la suscripción actual.

    offerPhase

    enum (OfferPhase)

    Es la fase de precios para el período de facturación que se establece en este pedido.

    servicePeriodStartTime

    string (Timestamp format)

    Es el inicio del período de facturación según este pedido. Es un resumen de la fecha y hora de inicio del período de servicio o facturación que se indicó en el momento en que se procesó el pedido, y solo tiene que usarse para fines de contabilización.

    Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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".

    servicePeriodEndTime

    string (Timestamp format)

    Es el final del período de facturación según este pedido. Es un resumen de la fecha y hora de finalización del período de servicio o facturación que se indicó en el momento en que se procesó el pedido, y solo tiene que usarse para fines de contabilización. Para obtener la hora de finalización actual del período del servicio mediante suscripción, usa purchases.subscriptionsv2.get.

    Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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".

    OfferPhase

    Es la fase de precios para el período de derecho según este pedido.

    Enumeraciones
    OFFER_PHASE_UNSPECIFIED Indica que no se especificó la fase de la oferta. Este valor no se usa.
    BASE Indica que el pedido establece un período de precio base.
    INTRODUCTORY Indica que el pedido establece un período de precio de lanzamiento.
    FREE_TRIAL Indica que el pedido establece un período de prueba gratuita.

    PaidAppDetails

    Este tipo no tiene campos.

    Son los detalles de la compra de una app pagada.

    OrderHistory

    Son los detalles de los eventos que modificaron el pedido.

    Representación JSON
    {
      "partialRefundEvents": [
        {
          object (PartialRefundEvent)
        }
      ],
      "processedEvent": {
        object (ProcessedEvent)
      },
      "cancellationEvent": {
        object (CancellationEvent)
      },
      "refundEvent": {
        object (RefundEvent)
      }
    }
    Campos
    partialRefundEvents[]

    object (PartialRefundEvent)

    Son los detalles de los eventos de reembolso parcial para este pedido.

    processedEvent

    object (ProcessedEvent)

    Son los detalles de cuándo se procesó el pedido.

    cancellationEvent

    object (CancellationEvent)

    Son los detalles de cuándo se canceló el pedido.

    refundEvent

    object (RefundEvent)

    Son los detalles de cuándo se reembolsó completamente el pedido.

    ProcessedEvent

    Son los detalles de cuándo se procesó el pedido.

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

    string (Timestamp format)

    Es la fecha y hora en que se procesó el pedido.

    Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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".

    CancellationEvent

    Son los detalles de cuándo se canceló el pedido.

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

    string (Timestamp format)

    Es la fecha y hora en que se canceló el pedido.

    Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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".

    RefundEvent

    Son los detalles de cuándo se reembolsó completamente el pedido.

    Representación JSON
    {
      "eventTime": string,
      "refundDetails": {
        object (RefundDetails)
      },
      "refundReason": enum (RefundReason)
    }
    Campos
    eventTime

    string (Timestamp format)

    Es la fecha y hora en que se reembolsó completamente el pedido.

    Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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".

    refundDetails

    object (RefundDetails)

    Son los detalles del reembolso total.

    refundReason

    enum (RefundReason)

    Es el motivo por el que se reembolsó el pedido.

    RefundDetails

    Son los detalles de un reembolso total o parcial.

    Representación JSON
    {
      "total": {
        object (Money)
      },
      "tax": {
        object (Money)
      }
    }
    Campos
    total

    object (Money)

    Es el importe total reembolsado, con impuestos incluidos.

    tax

    object (Money)

    Es el importe de impuestos reembolsado.

    RefundReason

    Es el motivo por el que se reembolsó el pedido.

    Enumeraciones
    REFUND_REASON_UNSPECIFIED Indica que no se especificó el motivo de reembolso del pedido. Este valor no se usa.
    OTHER Indica que se reembolsó el pedido por un motivo que no se incluye entre las opciones enumeradas aquí.
    CHARGEBACK Indica que se devolvió el cargo del pedido.

    PartialRefundEvent

    Son los detalles de los eventos de reembolso parcial para este pedido.

    Representación JSON
    {
      "createTime": string,
      "processTime": string,
      "state": enum (State),
      "refundDetails": {
        object (RefundDetails)
      }
    }
    Campos
    createTime

    string (Timestamp format)

    Es la fecha y la hora en que se creó el reembolso parcial.

    Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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".

    processTime

    string (Timestamp format)

    Es la fecha y la hora en que se procesó el reembolso parcial.

    Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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".

    state

    enum (State)

    Es el estado del reembolso parcial.

    refundDetails

    object (RefundDetails)

    Son los detalles del reembolso parcial.

    Estado

    Es el estado del reembolso parcial.

    Enumeraciones
    STATE_UNSPECIFIED Indica que no se especificó el estado. Este valor no se usa.
    PENDING Indica que se creó el reembolso parcial, pero aún no se procesó.
    PROCESSED_SUCCESSFULLY Indica que se procesó correctamente el reembolso parcial.

    PointsDetails

    Son los detalles relacionados con los Puntos de Play que se aplicaron a un pedido.

    Representación JSON
    {
      "pointsOfferId": string,
      "pointsCouponValue": {
        object (Money)
      },
      "pointsDiscountRateMicros": string,
      "pointsSpent": string
    }
    Campos
    pointsOfferId

    string

    Es el ID único de la oferta de Play Points que se usa para este pedido.

    pointsCouponValue

    object (Money)

    Es el valor monetario de un cupón de Play Points. Este es el descuento que proporciona el cupón, que puede no ser el importe total. Solo se establece cuando se usaron cupones de Play Points. Por ejemplo, para un cupón de 100 puntos por USD 2, este valor es USD 2.

    pointsDiscountRateMicros

    string (int64 format)

    Es el porcentaje en el que la promoción de Play Points reduce el costo. Por ejemplo, para un cupón de 100 puntos por USD 2, este valor es 500,000. Dado que la misión de USD 2 tiene una estimación de 200 puntos, pero los puntos reales requeridos, 100, representan el 50% de esta cantidad, y el 50% en micro unidades es 500,000. Entre 0 y 1,000,000.

    pointsSpent

    string (int64 format)

    Cantidad de puntos de Play aplicados en este pedido. Por ejemplo, para un cupón de 100 puntos por USD 2, este valor es 100. En el caso de los cupones combinados con la oferta base, se trata de los puntos totales que se gastaron en ambas ofertas.

    Métodos

    batchget

    Obtiene detalles de los pedidos de una lista.

    get

    Obtiene detalles de un solo pedido.

    refund

    Reembolsa un pedido de compra directa desde la app o la suscripción de un usuario.