Referência da API

Verificação do Google Play

POST/v1/google-play/verify

Verifica um token de compra do Google Play com a conta de serviço configurada nesta chave de API (console → Chaves de API → Editar → Verificação de assinatura do Google Play). A resposta vem direto do Google; o gateway não cobra nada e o seu app decide o que liberar. As respostas ficam em cache por um minuto por token.

#Parâmetros da requisição

  • purchase_tokenstringobrigatório

    O token de compra do Play Billing. No in_app_purchase do Flutter, é purchaseDetails.verificationData.serverVerificationData.

subscribed é true para qualquer assinatura real deste app, inclusive as expiradas; active é true apenas enquanto ela pode ser usada. Assinaturas canceladas continuam active até expiry_time, porque só a renovação automática foi desligada. in_trial é true enquanto o período atual for um teste gratuito; nesse caso, expiry_time é quando o teste termina. Tokens desconhecidos retornam subscribed false e state NOT_FOUND com status 200.

A configuração no Google, a chamada a partir de um app Flutter e a decisão sobre o que liberar estão explicadas passo a passo no guia. Assinaturas do Google Play no seu app →

Toda chamada, incluindo respostas em cache e falhas, aparece em Console → Log de requisições como uma linha gratuita “Verificação do Google Play” na chave que a fez, com o resultado, o ID do pedido e os últimos caracteres do token. Busque ali pelo token de compra completo, pelos últimos caracteres dele ou pelo ID do pedido. Essas linhas não entram na contagem de requisições.

#Erros relacionados

  • 400 invalid_requestO corpo não é JSON ou falta purchase_token.
  • 400 google_play_not_configuredEsta chave de API ainda não tem nome de pacote e conta de serviço.
  • 401Bearer token inválido ou ausente.
  • 429Limite de chamadas de verificação por chave: 120 por minuto por padrão, podendo ser aumentado pelo suporte para uma chave. As configurações do Google Play da chave mostram o limite dela. Aguarde o Retry-After e mantenha a última resposta.
  • 502 google_play_api_disabledA Google Play Android Developer API não está ativada no projeto do Google Cloud da conta de serviço. Ative-a e tente novamente em alguns minutos.
  • 502 google_play_permission_deniedO Google recusou o acesso: convide a conta de serviço no Play Console com permissão para ver dados financeiros e gerenciar pedidos e assinaturas. Novas permissões podem levar até um dia.
  • 502 google_play_credentials_invalidO Google rejeitou a chave da conta de serviço armazenada. Envie uma nova na chave.
  • 503 google_play_unavailableO Google não respondeu a tempo. Tente novamente em alguns segundos.

Tabela completa de códigos de erro →

#Exemplo de requisição

curl https://www.aisplice.store/v1/google-play/verify \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"purchase_token": "PURCHASE_TOKEN_FROM_PLAY_BILLING"}'

#Resposta

response.json
{
  "package_name": "com.example.app",
  "subscribed": true,
  "active": true,
  "in_trial": false,
  "state": "SUBSCRIPTION_STATE_ACTIVE",
  "product_id": "vip_monthly",
  "expiry_time": 1793000000,
  "auto_renewing": true,
  "acknowledged": true,
  "test_purchase": false,
  "order_id": "GPA.3300-1111-2222-44444..2",
  "checked_at": 1790400000
}

Ainda com problemas?

Envie para nós o ID da requisição ou a mensagem de erro e vamos investigar.