Referencia de la API

Verificación de Google Play

POST/v1/google-play/verify

Verifica un token de compra de Google Play con la cuenta de servicio configurada en esta clave de API (consola → Claves de API → Editar → Verificación de suscripciones de Google Play). La respuesta viene directamente de Google; el gateway no cobra nada y tu app decide qué desbloquear. Las respuestas se guardan en caché un minuto por token.

#Parámetros de la solicitud

  • purchase_tokenstringobligatorio

    El token de compra de Play Billing. En in_app_purchase de Flutter es purchaseDetails.verificationData.serverVerificationData.

subscribed es true para cualquier suscripción real de esta app, incluidas las caducadas; active es true solo mientras puede usarse. Las suscripciones canceladas siguen activas hasta expiry_time, porque solo se desactivó la renovación automática. in_trial es true mientras el periodo actual es una prueba gratuita; en ese caso expiry_time es cuando termina la prueba. Los tokens desconocidos devuelven subscribed false y state NOT_FOUND con estado 200.

La guía explica paso a paso cómo configurar Google, llamarlo desde una app de Flutter y decidir qué desbloquear. Suscripciones de Google Play en tu app →

Cada llamada, incluidas las respuestas en caché y los fallos, aparece en Consola → Registro de solicitudes como una fila gratuita “Verificación de Google Play” en la clave que la hizo, con el resultado, el ID de pedido y los últimos caracteres del token. Busca allí por el token de compra completo, sus últimos caracteres o el ID de pedido. Estas filas no se incluyen en el recuento de solicitudes.

#Errores relacionados

  • 400 invalid_requestEl cuerpo no es JSON o falta purchase_token.
  • 400 google_play_not_configuredEsta clave de API aún no tiene nombre de paquete ni cuenta de servicio.
  • 401Bearer token no válido o ausente.
  • 429Límite por clave en las llamadas de verificación: 120 por minuto de forma predeterminada; soporte puede aumentarlo para una clave. La configuración de Google Play de la clave muestra su límite. Espera el Retry-After y conserva la última respuesta.
  • 502 google_play_api_disabledLa Google Play Android Developer API no está habilitada en el proyecto de Google Cloud de la cuenta de servicio. Habilítala y reintenta en unos minutos.
  • 502 google_play_permission_deniedGoogle denegó el acceso: invita a la cuenta de servicio en Play Console con permiso para ver datos financieros y gestionar pedidos y suscripciones. Los permisos nuevos pueden tardar hasta un día.
  • 502 google_play_credentials_invalidGoogle rechazó la clave de la cuenta de servicio guardada. Sube una nueva en la clave.
  • 503 google_play_unavailableGoogle no respondió a tiempo. Reintenta en unos segundos.

Tabla completa de códigos de error →

#Ejemplo de solicitud

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"}'

#Respuesta

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
}

¿Sigues con el problema?

Envíanos el ID de solicitud o el mensaje de error y lo revisaremos.