Las compras en la aplicación realizadas a través de códigos promocionales devuelven la cadena de carga útil del desarrollador vacía

Tengo una aplicación publicada en el canal alfa, con un elemento administrado en la aplicación (no) que cuesta $ 1.

Cuando compré normalmente, es decir, uso una tarjeta de crédito / débito Google devuelve la cadena de carga útil del desarrollador correcta, pero si elijo "canjear" un código promocional e ingresar dicho código, Google devuelve una cadena de carga útil de desarrollador vacía y, 'OnIabPurchaseFinished ()'.

Debo mencionar que esto sólo ocurre si elijo canjear un código del flujo de compra de la aplicación y todo funciona perfectamente si primero abra Play Store, canjee el código y vuelva a abrir la aplicación.

¿Es esto un error de parte de Google?

EDIT: Se espera que la tienda Play Store, ya que no puede saber su carga útil y la compra se realiza sin tener que comprobarlo.

Este problema se abrió en las google's Android-play-billing muestras de repo . Parece que fue ignorado durante mucho tiempo y finalmente se cerró con este comentario. En resumen, tienen las siguientes sugerencias.


Hemos revisado nuestras directrices y APIs internas, y dado que no se admite el desarrollo de developerPayload en todas las funciones de la API de facturación dentro de la aplicación (incluidos los promocodes), eliminamos la recomendación de utilizarlo como comprobación de seguridad.

Como se puede ver en nuestra documentación, en la página Implementación de facturación en la aplicación ( https://developer.android.com/google/play/billing/billing_integrate.html ), hemos añadido una recomendación:

Precaución: no utilice el campo developerPayload para fines de validación de seguridad. Este campo no siempre está disponible cuando se completan las tareas relacionadas con la facturación en la aplicación. Para obtener más información sobre las prácticas recomendadas de seguridad, consulte la Guía de seguridad y diseño de facturación en la aplicación.

Nuestra recomendación es validar en su propio backend, utilizando la API de Google Play.


  • Filtrado de Android NDK y Google Play
  • Valora la aplicación de Google Play directamente en la aplicación
  • Pruebe la compra inapp con la clave de depuración
  • ¿Qué sucede cuando "quito" una aplicación de pago de Apple y Android App Store?
  • Cómo corregir - "Esta versión de la aplicación no está configurada para la facturación de mercado"?
  • Consulta la tienda de Google Play para ver la versión de una aplicación?
  • Error de minSdkVersion al cargar APK en Android Market
  • Cómo comprobar si el usuario de la aplicación está en Google Play Beta Testing
  • Webview evitar la alerta de seguridad de google jugar con la implementación de onReceivedSslError
  • Problema de compatibilidad de dispositivos en Play Store
  • Comparar la versión de aplicación en ejecución con la versión de mercado 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.