Estoy usando la versión 3 de la API de facturación integrada en la aplicación. Tengo un solo artículo administrado, no consumible. Todavía no he lanzado esta función en mi aplicación, por lo que quiero decidir sobre el contenido de la carga útil de compra antes de que haya compras.
De "Prácticas recomendadas de seguridad" :
Establecer la cadena de carga útil del desarrollador al realizar solicitudes de compra
Con la API de facturación integrada en la aplicación versión 3, puede incluir un token de cadena de 'carga útil del desarrollador' al enviar su solicitud de compra a Google Play. Por lo general, esto se usa para pasar un token de cadena que identifica de manera única esta solicitud de compra. Si especifica un valor de cadena, Google Play devuelve esta cadena junto con la respuesta de compra. Posteriormente, cuando realiza consultas sobre esta compra, Google Play devuelve esta cadena junto con los detalles de la compra.
Debes pasar un token de cadena que ayude a tu aplicación a identificar al usuario que realizó la compra, para que luego puedas verificar que se trata de una compra legítima de ese usuario. Para los artículos consumibles, puede usar una cadena generada aleatoriamente, pero para los artículos no consumibles debe usar una cadena que identifique de forma única al usuario.
Cuando reciba la respuesta de Google Play, asegúrese de verificar que la cadena de carga útil del desarrollador coincida con el token que envió anteriormente con la solicitud de compra. Como medida de seguridad adicional, debe realizar la verificación en su propio servidor seguro.
Con razón o sin ella, he decidido no tomar la "precaución de seguridad adicional" de configurar un servidor para realizar la verificación de compra. Y no guardo mi propio registro de la compra, siempre llamo a la API de facturación. Entonces, ¿realmente hay alguna razón para que yo haga esta verificación de carga útil? La API de verificación en sí misma ciertamente verifica la identidad de un usuario antes de informar sobre un artículo como comprado, y si un atacante ha comprometido un dispositivo (ya sea la aplicación o la API de Google Play), no veo ningún beneficio de hacer una verificación adicional en la identificación del usuario en el dispositivo donde se puede eludir fácilmente. ¿O hay alguna razón para hacer esto en la que no estoy pensando?