Android – ¿Cómo comprobar si se renueva la suscripción?

Tengo una aplicación para Android con suscripciones mensuales renovables. En esta aplicación quiero notificar al usuario alguna información cuando su subcripción continúa en el próximo mes.

Como puedo ver las renovaciones en el centro comercial (orderId termina con, por ejemplo,. 0,. 1), pero al consultar el inventario de mi pedido de pedido es idéntico a antes de eq.

{ "orderId": "GPA.XXXX-YYYY-XXXX-ZZZZZ", "packageName": "my.packageName", "productId": "my.sku", "purchaseTime": 1456398623654, "purchaseState": 0, "developerPayload": "mypayload", "purchaseToken": "token", "autoRenewing": true } 

Lo que más me molesta es que purchaseTime tampoco cambia.

Así que mi pregunta es: ¿Si hay alguna manera de detectar en la aplicación que la renovación se produjo?

Editar:

Estoy utilizando Google Play Developer API para obtener información de suscripción y luego calcular el número de renovaciones yo mismo.

El ID de pedido para todas las recurrencias se devuelve en el campo orderId campo JSON INAPP_PURCHASE_DATA (en V3) con cada transacción recurrente anexada por un entero.

Números de pedido de suscripción

Para ayudarle a realizar un seguimiento de las transacciones relacionadas con una suscripción determinada, los pagos de Google proporcionan un número de pedido de comerciante básico para todas las recurrencias de la suscripción y denota cada transacción recurrente añadiendo un número entero de la siguiente manera:

 GPA.1234-5678-9012-34567 (base order number) GPA.1234-5678-9012-34567..0 (first recurrence orderID) GPA.1234-5678-9012-34567..1 (second recurrence orderID) GPA.1234-5678-9012-34567..2 (third recurrence orderID) ... 

Sin embargo, debido al almacenamiento en caché local, es posible que no obtenga la información más reciente. Así que intente borrar la caché del administrador de aplicaciones para ver primero si obtiene la información correcta de compra.

Dado que la consulta de compra de esta manera no es fiable, tiene más sentido llamar a Google Play Developer Purchases.subscriptions: obtener API desde un backend para obtener el recurso Purchases.subscriptions que devolverá expiryTimeMillis de la suscripción actual.

 { "kind": "androidpublisher#subscriptionPurchase", "startTimeMillis": long, "expiryTimeMillis": long, "autoRenewing": boolean, "priceCurrencyCode": string, "priceAmountMicros": long, "countryCode": string, "developerPayload": string, "paymentState": integer, "cancelReason": integer } 

Los datos de compra de las suscripciones sólo se devuelven cuando la suscripción está activa. Si la suscripción caduca, no obtendrá estos datos de compra cuando consulte el inventario.

Extracto del enlace

Si falla un pago periódico (por ejemplo, porque la tarjeta de crédito del cliente se ha convertido en no válida), la suscripción no se renueva. El método getPurchases () no devuelve suscripciones erróneas o caducadas.

  • Facturación de InApp: java.lang.SecurityException Requiere READ_PHONE_STATE
  • ¿Cómo puedo analizar el precio de la facturación en la aplicación de Google Play?
  • Android en la aplicación robotmedia: Restaurar transacciones
  • Lista oficial de países para la aplicación de facturación Android?
  • Android IAB - Actividad destruida después de una compra exitosa
  • Ejecutar código en el subproceso principal / UI en Cocos2dx
  • Cómo verificar la compra de la aplicación de Android en el lado del servidor (Google Play en la facturación de aplicaciones v3)
  • Pop la página de inicio de sesión de Google en caso de que no haya ningún usuario conectado
  • En App Purchaes con Android Studio no puede encontrar IInAppBillingService
  • Android In-App Billing v3: "No se puede realizar la operación: queryInventory"
  • Límite máximo de artículos en la facturación de la aplicación o en la compra de la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.