- Recurso: pedido
- Estado
- BuyerAddress
- OrderDetails
- LineItem
- OneTimePurchaseDetails
- PreorderDetails
- RentalDetails
- SubscriptionDetails
- OfferPhase
- OfferPhaseDetails
- FreeTrialDetails
- IntroductoryPriceDetails
- BaseDetails
- ProrationPeriodDetails
- 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 a seguir 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. Obsoleto. Use offerPhaseDetails. |
offerPhaseDetails |
Os detalhes da fase de precificação referente ao período de direito coberto por esse pedido. |
servicePeriodStartTime |
O início do período de faturamento coberto por esse 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. |
OfferPhaseDetails
Detalhes de uma fase de preços para o período de direito coberto por este pedido.
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união phase_details. Os detalhes da fase de preços. phase_details pode ser apenas de um dos tipos a seguir: |
|
freeTrialDetails |
O pedido cobre um período de teste sem custo financeiro. |
introductoryPriceDetails |
O pedido cobre um período de preço inicial. |
baseDetails |
O pedido cobre um período de preço base. |
prorationPeriodDetails |
O pedido cobre um período de rateio. |
FreeTrialDetails
Esse tipo não tem campos.
Detalhes de uma fase de preços de teste sem custo financeiro.
IntroductoryPriceDetails
Esse tipo não tem campos.
Detalhes de uma fase de preço inicial.
BaseDetails
Esse tipo não tem campos.
Detalhes de uma fase de preços de preço base.
ProrationPeriodDetails
Detalhes de um período de rateio.
Um período de rateio pode ser calculado durante uma mudança de plano para cobrir direitos de acesso atuais (para mais informações, consulte Permitir que os usuários façam upgrade, downgrade ou mudem a assinatura) ou um período proporcional para alinhar as datas de renovação de complementos com a assinatura básica (para mais informações, consulte Regras aplicáveis a itens na compra).
| Representação JSON |
|---|
{
"originalOfferPhase": enum ( |
| Campos | |
|---|---|
originalOfferPhase |
Representa a fase da oferta original do item de linha comprado se o período de rateio contiver alguma delas. Por exemplo, um período de rateio de uma mudança de plano CHARGE_FULL_PRICE pode mesclar a primeira fase da oferta de assinatura do novo produto comprado pelo usuário. Nesse caso, a fase da oferta original será definida aqui. |
linkedOrderId |
O ID do último pedido da compra da assinatura original antes da mudança de plano. Só será preenchido se esse período proporcional for de um upgrade/downgrade de uma assinatura anterior e tiver a fase restante da oferta do pedido vinculado da assinatura anterior. |
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 US $2, esse valor é US $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% desse valor, 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. Verifique o Painel de status do Google Play para conferir 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 chamando o método |
Tente fazer a solicitação novamente. |