- Recurso: Order
 - Estado
 - BuyerAddress
 - OrderDetails
 - LineItem
 - OneTimePurchaseDetails
 - PreorderDetails
 - RentalDetails
 - SubscriptionDetails
 - OfferPhase
 - PaidAppDetails
 - OrderHistory
 - ProcessedEvent
 - CancellationEvent
 - RefundEvent
 - RefundDetails
 - RefundReason
 - PartialRefundEvent
 - Estado
 - PointsDetails
 - Métodos
 
Recurso: Order
O recurso "Order" encapsula informações abrangentes sobre uma transação feita no Google Play. Ele inclui vários atributos que fornecem detalhes sobre o pedido, os produtos comprados e o histórico de eventos relacionados ao pedido.
As APIs Orders oferecem acesso em tempo real aos dados de pedidos no ecossistema do Google Play. É possível recuperar informações detalhadas e metadados de pedidos únicos e recorrentes, incluindo detalhes da transação, como cobranças, tributos e reembolsos, além de metadados, como fases de preços para assinaturas. Com as APIs Orders, é possível automatizar tarefas relacionadas ao gerenciamento de pedidos, reduzindo a necessidade de verificações manuais no Play Console.
Confira alguns casos de uso dessa API:
Recuperação de dados de pedidos em tempo real: "orders.get" detalhes e metadados de um pedido imediatamente após uma compra usando um ID de pedido.
Sincronização de atualizações de pedidos: sincronize periodicamente as atualizações de pedidos para manter um registro atualizado das informações.
Observação:
As chamadas da API Orders contam para sua cota da API Google Play Developer, que é de 200 mil por dia por padrão e pode ser insuficiente para sincronizar históricos de pedidos extensos.
É possível recuperar até 1.000 pedidos por chamada. Recomendamos usar tamanhos de página maiores para minimizar o uso da cota. Verifique sua cota no Console do Cloud e peça mais se necessário.
| Representação JSON | 
|---|
{ "lineItems": [ { object (  | 
              
| Campos | |
|---|---|
lineItems[] | 
                
                   
 Os itens de linha individuais que compõem este pedido.  | 
              
orderId | 
                
                   
 O ID do pedido.  | 
              
purchaseToken | 
                
                   
 O token enviado ao dispositivo do usuário no momento da compra da assinatura ou do item.  | 
              
state | 
                
                   
 O estado do pedido.  | 
              
createTime | 
                
                   
 A data e a hora em que o pedido foi criado. 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:   | 
              
lastEventTime | 
                
                   
 A data e o horário do último evento ocorrido no pedido. 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:   | 
              
buyerAddress | 
                
                   
 Informações de endereço do cliente que serão usadas no cálculo dos tributos. Quando o Google é o comerciante responsável pelo processamento do pedido, somente o país é exibido.  | 
              
total | 
                
                   
 O valor final pago pelo cliente, considerando descontos e tributos.  | 
              
tax | 
                
                   
 O valor total dos tributos pagos como parte deste pedido.  | 
              
orderDetails | 
                
                   
 Informações detalhadas sobre o pedido no momento da criação.  | 
              
orderHistory | 
                
                   
 Detalhes sobre eventos que mudaram o pedido.  | 
              
developerRevenueInBuyerCurrency | 
                
                   
 É a receita deste pedido na moeda do comprador, incluindo deduções de reembolsos parciais, tributos e taxas. O Google deduz as taxas padrão de transação e de terceiros de cada venda, incluindo o IVA em algumas regiões.  | 
              
pointsDetails | 
                
                   
 Pontos do Play Points aplicados ao pedido, incluindo informações da oferta, taxa de desconto e valores dos pontos.  | 
              
Estado
O estado do pedido.
| Tipos enumerados | |
|---|---|
STATE_UNSPECIFIED | 
                Estado não especificado. Esse valor não é usado. | 
PENDING | 
                O pedido foi criado e está aguardando processamento. | 
PROCESSED | 
                O pedido foi processado. | 
CANCELED | 
                O pedido foi cancelado antes de ser processado. | 
PENDING_REFUND | 
                O reembolso solicitado está aguardando processamento. | 
PARTIALLY_REFUNDED | 
                Parte do valor do pedido foi reembolsada. | 
REFUNDED | 
                O valor total do pedido foi reembolsado. | 
BuyerAddress
Informações de endereço do cliente que serão usadas no cálculo dos tributos.
| Representação JSON | 
|---|
{ "buyerState": string, "buyerCountry": string, "buyerPostcode": string }  | 
              
| Campos | |
|---|---|
buyerState | 
                
                   
 Subdivisão administrativa de nível superior do país do comprador. Quando o Google é o comerciante responsável pelo processamento do pedido, essa informação não é incluída.  | 
              
buyerCountry | 
                
                   
 Código do país de duas letras baseado no ISO-3166-1 Alpha-2 (códigos do país da ONU).  | 
              
buyerPostcode | 
                
                   
 Código postal de um endereço. Quando o Google é o comerciante responsável pelo processamento do pedido, essa informação não é incluída.  | 
              
OrderDetails
Informações detalhadas sobre o pedido no momento da criação.
| Representação JSON | 
|---|
{ "taxInclusive": boolean }  | 
              
| Campos | |
|---|---|
taxInclusive | 
                
                   
 Indica se o preço de tabela incluía tributos ou não.  | 
              
LineItem
Detalhes de um item de linha.
| Representação JSON | 
|---|
{ "productTitle": string, "productId": string, "listingPrice": { object (  | 
              
| Campos | |
|---|---|
productTitle | 
                
                   
 É o nome do produto criado pelo desenvolvedor. Exibido na localidade do comprador. Exemplo: moedas, assinatura mensal etc.  | 
              
productId | 
                
                   
 O ID ou SKU no app do produto comprado. Por exemplo, "monthly001" ou "com.some.thing.inapp1".  | 
              
listingPrice | 
                
                   
 Preço de tabela do item na Play Store, que pode incluir tributos ou não. O valor não inclui descontos nem promoções.  | 
              
total | 
                
                   
 O valor total pago pelo usuário por este item de linha, considerando descontos e tributos.  | 
              
tax | 
                
                   
 Os tributos pagos por este item de linha.  | 
              
Campo de união  
  | 
              |
oneTimePurchaseDetails | 
                
                   
 Detalhes de uma compra única.  | 
              
subscriptionDetails | 
                
                   
 Detalhes da compra de uma assinatura.  | 
              
paidAppDetails | 
                
                   
 Detalhes da compra de um app pago.  | 
              
OneTimePurchaseDetails
Detalhes de uma compra única.
| Representação JSON | 
|---|
{ "quantity": integer, "offerId": string, "purchaseOptionId": string, "preorderDetails": { object (  | 
              
| Campos | |
|---|---|
quantity | 
                
                   
 O número de itens comprados (para compras de vários itens).  | 
              
offerId | 
                
                   
 O ID da oferta de compra única.  | 
              
purchaseOptionId | 
                
                   
 ID da opção de compra. Esse campo é definido para opções de compra e ofertas de variantes. Para opções de compra, esse ID identifica a opção de compra em si. Para ofertas de variantes, esse ID se refere à opção de compra associada e, junto com "offerId", identifica a oferta de variante.  | 
              
preorderDetails | 
                
                   
 Os detalhes de uma pré-venda. Definido somente se a compra for em pré-venda.  | 
              
rentalDetails | 
                
                   
 Os detalhes de uma compra de aluguel. Definido somente se a compra for de um aluguel.  | 
              
PreorderDetails
Esse tipo não tem campos.
Detalhes de uma compra em pré-venda.
RentalDetails
Esse tipo não tem campos.
Detalhes de uma compra de locação.
SubscriptionDetails
Detalhes da compra de uma assinatura.
| Representação JSON | 
|---|
{
  "basePlanId": string,
  "offerId": string,
  "offerPhase": enum ( | 
              
| Campos | |
|---|---|
basePlanId | 
                
                   
 O ID do plano básico da assinatura.  | 
              
offerId | 
                
                   
 O ID da oferta de assinatura atual.  | 
              
offerPhase | 
                
                   
 A etapa de precificação referente ao período de faturamento coberto por esse pedido.  | 
              
servicePeriodStartTime | 
                
                   
 O início do período de faturamento coberto nesse pedido. Um resumo do horário de início do período de faturamento/serviço no momento em que o pedido foi processado. Deve ser usado apenas para contabilizaçã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:   | 
              
servicePeriodEndTime | 
                
                   
 O fim do período de faturamento coberto nesse pedido. Um resumo do horário de término do período de faturamento/serviço no momento em que o pedido foi processado. Deve ser usado apenas para contabilização. Para saber o horário de término atual do período de serviço da assinatura, use purchases.subscriptionsv2.get. 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:   | 
              
OfferPhase
A etapa de precificação referente ao período de direito coberto por esse pedido.
| Tipos enumerados | |
|---|---|
OFFER_PHASE_UNSPECIFIED | 
                Fase da oferta não especificada. Esse valor não é usado. | 
BASE | 
                O pedido cobre um período de preço base. | 
INTRODUCTORY | 
                O pedido cobre um período de preço inicial. | 
FREE_TRIAL | 
                O pedido cobre um período de teste sem custo financeiro. | 
PaidAppDetails
Esse tipo não tem campos.
Detalhes da compra de um app pago.
OrderHistory
Detalhes sobre eventos que mudaram o pedido.
| Representação JSON | 
|---|
{ "partialRefundEvents": [ { object (  | 
              
| Campos | |
|---|---|
partialRefundEvents[] | 
                
                   
 Detalhes dos eventos de reembolso parcial deste pedido.  | 
              
processedEvent | 
                
                   
 Detalhes de quando o pedido foi processado.  | 
              
cancellationEvent | 
                
                   
 Detalhes de quando o pedido foi cancelado.  | 
              
refundEvent | 
                
                   
 Detalhes de quando o pedido foi totalmente reembolsado.  | 
              
ProcessedEvent
Detalhes de quando o pedido foi processado.
| Representação JSON | 
|---|
{ "eventTime": string }  | 
              
| Campos | |
|---|---|
eventTime | 
                
                   
 A data e a hora do processamento do pedido. 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:   | 
              
CancellationEvent
Detalhes de quando o pedido foi cancelado.
| Representação JSON | 
|---|
{ "eventTime": string }  | 
              
| Campos | |
|---|---|
eventTime | 
                
                   
 A data e o horário do cancelamento do pedido. 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:   | 
              
RefundEvent
Detalhes de quando o pedido foi totalmente reembolsado.
| Representação JSON | 
|---|
{ "eventTime": string, "refundDetails": { object (  | 
              
| Campos | |
|---|---|
eventTime | 
                
                   
 A data e o horário do reembolso total do pedido. 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:   | 
              
refundDetails | 
                
                   
 Detalhes do reembolso total.  | 
              
refundReason | 
                
                   
 O motivo do reembolso do pedido.  | 
              
RefundDetails
Detalhes de um reembolso parcial ou total.
| Representação JSON | 
|---|
{ "total": { object (  | 
              
| Campos | |
|---|---|
total | 
                
                   
 O valor total reembolsado, com tributos.  | 
              
tax | 
                
                   
 O valor dos tributos reembolsados.  | 
              
RefundReason
O motivo do reembolso do pedido.
| Tipos enumerados | |
|---|---|
REFUND_REASON_UNSPECIFIED | 
                O motivo do reembolso do pedido não foi especificado. Esse valor não é usado. | 
OTHER | 
                O pedido foi reembolsado por um motivo que não foi listado aqui. | 
CHARGEBACK | 
                O pedido foi estornado. | 
PartialRefundEvent
Detalhes dos eventos de reembolso parcial deste pedido.
| Representação JSON | 
|---|
{ "createTime": string, "processTime": string, "state": enum (  | 
              
| Campos | |
|---|---|
createTime | 
                
                   
 A data e o horário em que o reembolso parcial foi criado. 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:   | 
              
processTime | 
                
                   
 A data e o horário em que o reembolso parcial foi processado. 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:   | 
              
state | 
                
                   
 O estado do reembolso parcial.  | 
              
refundDetails | 
                
                   
 Detalhes do reembolso parcial.  | 
              
Estado
O estado do reembolso parcial.
| Tipos enumerados | |
|---|---|
STATE_UNSPECIFIED | 
                Estado não especificado. Esse valor não é usado. | 
PENDING | 
                O reembolso parcial foi criado, mas ainda não foi processado. | 
PROCESSED_SUCCESSFULLY | 
                O reembolso parcial foi processado. | 
PointsDetails
Detalhes relacionados aos Pontos do Play Points aplicados a um pedido.
| Representação JSON | 
|---|
{
  "pointsOfferId": string,
  "pointsCouponValue": {
    object ( | 
              
| Campos | |
|---|---|
pointsOfferId | 
                
                   
 ID exclusivo da oferta do Play Points em uso para este pedido.  | 
              
pointsCouponValue | 
                
                   
 O valor monetário de um cupom do Play Points. Esse é o desconto oferecido pelo cupom, que pode não ser o valor total. Só é definido quando os cupons do Play Points são usados. Por exemplo, para um cupom de 100 pontos por R $2, esse valor é R $2.  | 
              
pointsDiscountRateMicros | 
                
                   
 A taxa percentual em que a promoção do Play Points reduz o custo. Por exemplo, para um cupom de 100 pontos por US $2,esse valor é 500.000. Como o produto $2 tem uma estimativa de 200 pontos, mas os pontos reais necessários, 100, são 50% disso, e 50% em micros é 500.000. Entre 0 e 1.000.000.  | 
              
pointsSpent | 
                
                   
 O número de Pontos do Play Points aplicados neste pedido. Por exemplo, para um cupom de 100 pontos por US $2, esse valor é 100. Para um cupom combinado com uma oferta básica, esse é o total de pontos gastos em ambos.  | 
              
Métodos | 
            |
|---|---|
                
 | 
              Recebe detalhes de uma lista de pedidos. | 
                
 | 
              Recebe os detalhes de um único pedido. | 
                
 | 
              Reembolsa a assinatura ou ordem de compra no app de um usuário. | 
Códigos de erro
As operações desse recurso retornam os seguintes códigos de erro HTTP:
| Código do erro | Motivo | Resolução | 
|---|---|---|
5xx | 
  Erro genérico no servidor do Google Play. | Tente fazer a solicitação novamente.
     Se o problema persistir, entre em contato com seu gerente de contas do Google Play ou envie uma solicitação de suporte. Confira o Painel de status do Google Play para saber se há interrupções conhecidas.  | 
409 | 
  Erro de atualização de simultaneidade.
     Houve uma tentativa de atualizar um objeto que já estava sendo atualizado. Por exemplo, uma compra
      está sendo confirmada ao chamar o método   | 
  Tente fazer a solicitação novamente. |