services reembolso play juegos google descargar actualizar android in-app-purchase in-app-billing

android - reembolso - Verificación del lado del servidor de la compra de la versión 3 de facturación de la aplicación en Google Play(parte 2)



play store descargar (2)

Así que pensé que entendía cómo funcionan la facturación en la aplicación y la verificación del lado del servidor gracias a una respuesta a una de mis preguntas anteriores, pero ahora que lo pienso todavía estoy perdido ...

Esto es lo que tengo y lo que quiero hacer:

Tengo una aplicación donde los usuarios pueden comprar varios "artículos". Cada elemento se almacena en un servidor y debe estar disponible para descargarlo dentro de la aplicación al momento de la compra. Los artículos son artículos administrados que se pueden comprar solo una vez (es decir, no consumibles). No tengo problemas para definir artículos en la consola de Google Play Developer y puedo realizar una compra exitosa.

Lo que no entiendo es cómo puedo hacer que mi servidor no solo valide la compra (con el símbolo de compra y firma) sino que sepa que es el artículo X y no el artículo Y el que se compra. ¿Existe alguna API de Google en la que el servidor pueda hablar con Google y preguntar a qué ID de artículo pertenece una cierta compra? ¿Hay alguna otra manera de hacer esto?



Odio responder a mi propia pregunta, pero bueno, ¡nadie más lo hizo! Mis colegas y yo volvimos a analizar el problema esta mañana. La solución a mi problema finalmente se me ocurrió después de echar otro vistazo a cómo funciona la verificación del lado del cliente en el ejemplo de TrivialDrive. Hombre, me dio ganas de ponerme mi "sombrero de estupido", cuando entendí lo que estaba mal.

Pensé que era la compraToken y la firma que se usó para verificar la compra, pero de esa manera no había forma de verificar si era el artículo A o el artículo B que se había comprado.

Si desea realizar una verificación del lado del servidor (o cualquier otro tipo de verificación) antes de poner el contenido a disposición del comprador, en realidad son los datos JSON originales (si utiliza las clases IabHelper, obtiene el JSON original de la clase Compra) que se supone que debes usar junto con la firma y la clave pública. Y dado que son los datos JSON originales que está transmitiendo a su servidor, también contiene toda la información sobre la compra (como la identificación de SKU, etc.).

También es importante establecer la carga útil del desarrollador en algo que identifique de forma única a su usuario (¡no al dispositivo!). En nuestro caso, cada usuario tiene una cuenta en el servidor y uso el ID de usuario único como carga útil del desarrollador.

/Mr.Estupido de cerrar la sesión!