Si encuentras alguna parte que no entiendes nos puedes dejar un comentario y te ayudaremos lo mas rápido que podamos.
Solución:
Este error puede deberse a varias razones.
Aquí está la lista de requisitos para las pruebas de Google IAB.
requisitos previos:
- AndroidManifest debe incluir permiso “com.android.vending.BILLING”.
- APK está integrado modo de lanzamiento.
- APK es firmado con el certificado(s) de liberación. (Importante: con “App Signing by Google Play” solo funciona si descargas directamente desde GooglePlayStore!)
- APK está subido a distribución alfa/beta canal (anteriormente, como borrador) a la consola del desarrollador al menos una vez. (toma algo de tiempo ~2h-24h).
- IAB se publican productos y su estado establecido en activo.
- Se agregaron cuentas de prueba en la consola del desarrollador.
Requisitos de prueba:
- Prueba APK tiene el mismo código de versión como el que se cargó en la consola del desarrollador.
- Prueba APK es firmado con el mismos certificados como el cargado en dev.console.
- Cuenta de prueba (no desarrollador) – es el cuenta principal en el dispositivo. (Es posible que la cuenta principal no sea necesaria, según el comentario de @MinosL)
- La cuenta de prueba está habilitada como probador y es vinculado a un método de pago válido. (@Kyone)
PD: Depuración con certificado de versión: https://stackoverflow.com/a/15754187/1321401 (Gracias @dipp por el enlace)
PPS: Quería hacer esta lista desde hace mucho tiempo.
Gracias @zlgdev, @Kyone, @MinosL por las actualizaciones
Ahh encontré la solución después de intentarlo durante un par de horas.
- Google tarda un poco en procesar las aplicaciones y actualizarlas en sus servidores, a mí me lleva medio día. Entonces, después de guardar el apk como borrador en Google Play, debe esperar unas horas antes de que los productos integrados en la aplicación respondan normalmente y permitan realizar compras regulares.
- Exportar y firmar APK. El APK sin firmar que intenta realizar compras obtendrá un error.
Lo mismo sucederá si su versión publicada no es la misma que la versión que está probando en su teléfono.
Por ejemplo, la versión cargada es android:versionCode="1"
y la versión que estás probando en tu teléfono es android:versionCode="2"