2011-03-01 17 views
8

Queremos permitir a nuestros usuarios activar un servicio en uno de nuestros servidores con cada aplicación comprada en Android Market, verificando que el usuario realmente haya comprado la aplicación.¿Puedo obtener el Id. De pedido de Google Checkout para una aplicación de Android comprada desde la aplicación en sí?

Para este propósito, estamos evaluando utilizar la API de historial de notificaciones de Google Checkout, lo que nos permite consultar desde nuestro servidor el estado de una ID de pedido de Checkout.

Ahora el problema es que no sabemos cómo obtener el Id. De pedido de pago desde la propia aplicación.

Con la nueva API de compras en la aplicación, podemos obtener el Id. De pedido de compra para cada una de las compras integradas en la aplicación, pero no para la compra de la aplicación.

Respuesta

5

Una mejor solución para obtener la confirmación de la compra de una aplicación es mediante el Market Licensing Verification Service.

El propósito de esta biblioteca es permitir que su aplicación confirme que el usuario realmente ha comprado la aplicación en cuestión.

Para verificar la transacción desde su servidor externo, puede usar las técnicas descritas bajo el título "Descargar la validación de la licencia a un servidor confiable" en this blog post.

En esencia, sugiere que envíe una copia de la respuesta del servidor de licencias, contenida dentro de la clase ResponseData, junto con su firma, a su servidor en línea. Su servidor puede verificar que el usuario tenga licencia.

Como la respuesta de la licencia está firmada criptográficamente, su servidor puede verificar que la respuesta de la licencia no haya sido alterada utilizando la clave pública RSA almacenada en la consola del editor de Android Market.

+1

Actualizó la respuesta con una respuesta :) –

+0

Thanks Reto! Esta solución es muy buena! ¡Empezando a trabajar en eso! –

+1

Puede encontrar mi biblioteca útil para validar licencias en un servidor confiable con PHP http://code.google.com/p/android-market-license-verification/ –

Cuestiones relacionadas