tributario tratamiento sobre relación reintegros reintegro reembolso otras obligaciones iva gastos facturación facturacion entre empresas cuando costos con comparten android in-app-billing

android - tratamiento - reintegro de costos y gastos cuando se comparten obligaciones con otras empresas



Manejo de reembolsos de facturación en la aplicación en v3 (1)

Estoy tratando de implementar la facturación en la aplicación en mi aplicación, tengo la parte de compra funcionando correctamente, pero ¿cómo me ocupo de emitir un reembolso?

En la sección Testing In-App Billing , se indica que debe estar pendiente de IN_APP_NOTIFY pero cuando hace clic al respecto, lo lleva a la v2 de la api donde debe registrar un receptor de difusión. Sin embargo, en v3 no proporciona información sobre qué hacer o si incluso IN_APP_NOTIFY todavía se usa de la misma forma o es compatible.

La aplicación de muestra no maneja los reembolsos tampoco, ¿cómo se supone que debo manejar los reembolsos en v3 ?


Se supone que debes manejarlos de la misma manera que en v2: cuando un usuario solicita un reembolso, cancela o reembolsa el pedido a través de la consola de Checkout. Luego, la aplicación debe verificar el estado de la compra al iniciar, etc. y hacer lo correcto (por lo general, permitir el acceso a las compras reembolsadas y negar las canceladas). Desafortunadamente, la muestra provista no se molesta en hacer esto, por lo que tendrá que agregarla usted mismo. Aún más desafortunado es el hecho de que debido al almacenamiento en caché local y / o los errores en el lado del servidor, las compras permanecerán en el estado adquirido mucho tiempo después de que las cancele o las reembolse. No hay mucho que puedas hacer al respecto a través de ATM.

Suponiendo que está utilizando el ejemplo de Trivial Drive, es posible que desee agregar algo como esto a su aplicación:

Purchase purchase = inventory.getPurchase(product); Log.d(TAG, "Purchase state: " + purchase.getPurchaseState()); // 0 (purchased), 1 (canceled), or 2 (refunded). if (purchase.getPurchaseState() == 0 || purchase.getPurchaseState() == 2) { showPremiumVersion(); } else { showFreeVersion(); }