Niveles de suscripción renovables automáticamente en la aplicación iOS

imagen


Hola, soy Renat de Apphud . En este artículo le diremos cuáles son los niveles de suscripciones auto-renovables, cómo configurarlos correctamente y en qué casos se reembolsa al usuario por un período pagado no utilizado.


¿Cuál es el nivel de suscripción?


Esta es la designación de la clase de suscripción, dependiendo del nivel de servicio que ofrece. La suscripción de la primera clase significa el nivel más alto de servicio, la segunda clase, más bajo, etc. De hecho, rara vez en qué aplicación puede encontrar dos niveles de suscripciones, sin mencionar tres o más.



Dos niveles de suscripción en la aplicación de periódico The New York Times.


¿Cómo configurar los niveles de suscripción?


Para configurar sus niveles de suscripción, vaya a App Store Connect , seleccione su aplicación y vaya a la pestaña Funciones . En la sección de compras en la aplicación, suba o baje su suscripción un nivel. Para hacer esto, seleccione la suscripción deseada presionando y manteniendo presionado el icono de arrastrar y soltar y mueva la suscripción al nivel deseado.



Arrastre y suelte una suscripción a un nivel superior.


La suscripción número 1 debe ofrecer el más alto nivel de servicio, por ejemplo, suscripción a todas las categorías de revistas. No hay dependencia entre la duración de la suscripción y su nivel. Por lo tanto, la suscripción más alta puede ser anual y una suscripción a un nivel inferior a un mes.


Cambiar suscripción


El usuario puede cambiar la suscripción en la aplicación App Store después de su registro. Puede aumentar (actualizar), disminuir (rebajar) un nivel o cambiar una suscripción dentro de un nivel (grado cruzado).


Actualización de nivel de suscripción (actualización)


Si la suscripción actual del usuario está activa, cambiará inmediatamente a una nueva tarifa y la parte no utilizada del período pagado se devolverá a la tarjeta.



Notificación de que parte de los fondos serán reembolsados ​​al actualizar la suscripción.


Al final del artículo, veremos cómo detectar el aumento en el nivel de suscripción y calcular la cantidad de retorno.


Baja de suscripción (rebaja)


Al bajar el nivel, el usuario cambia a uno nuevo al final del período de pago actual. Los fondos no se reembolsan, y el costo de una nueva suscripción se carga al momento de la activación.


Cambio de suscripción al mismo nivel (grado cruzado)


Esta es una situación común, se divide en dos tipos: un cambio de suscripción de una duración y diferente. Al cambiar una suscripción con una duración diferente, sucederá lo mismo que con una rebaja: la suscripción se aplicará al final del período de pago actual.


Si las duraciones coinciden, la suscripción actual se cancelará y se iniciará una nueva de inmediato. El dinero se debitará de la nueva suscripción y la parte no utilizada de la suscripción anterior se devolverá al usuario.


¿Cómo saber cómo cambiar la suscripción en el servidor?


Puede validar la comprobación de la tienda de aplicaciones o escuchar las notificaciones del servidor de Apple.


Mientras verifica cada nueva transacción, debe mirar para ver si product_id ha cambiado. Cambiar product_id significa que el usuario ha cambiado su suscripción en la configuración de App Store.


Además, puede ver el valor de auto_renew_product_id en pending_renewal_info . Le ayudará a conocer un cambio en product_id antes de que una nueva suscripción entre en vigencia.


Si tiene configuradas las notificaciones del servidor , escuche la notificación DID_CHANGE_RENEWAL_PREF que se llama cuando se cambia un producto. Puede limitarse a esta notificación y obtener el nuevo product_id de los parámetros de solicitud, o puede volver a verificar el recibo de la tienda de aplicaciones. En el último caso, las notificaciones del servidor de Apple solo servirán como desencadenante para una verificación no programada.


¿Cómo calcular la cantidad de retorno para las actualizaciones?


Para comprender si hubo una actualización, debe verificar el valor del campo is_upgraded . Un valor de true significa que la próxima transacción ya está en la nueva suscripción.


Tenga en cuenta que is_upgraded será true incluso cuando cambie una suscripción con la misma duración dentro del mismo nivel. Es decir, is_upgraded = true no significa un aumento de nivel, sino el hecho de que se realizó un cambio de suscripción con un reembolso.


Además del campo is_upgraded , el campo cancellation_date aparecerá en esta transacción, que indica la hora de la cancelación. Es igual o casi coincide con la fecha de inicio de la próxima transacción.


Resulta que el campo cancellation_date aparece no solo cuando se devuelve la suscripción , sino también cuando se actualiza.


Tenga en cuenta que al actualizar las suscripciones de Sandbox, falta el campo cancellation_date . Por lo tanto, cuando realice pruebas en Sandbox, debe usar la fecha de purchase_date próxima transacción en lugar de la fecha de cancellation_date . Lea más sobre la fecha de cancelación en la documentación de Apple .


Para calcular la cantidad que debe devolverse al usuario, debe dividir el período no utilizado por el período completo de la suscripción anterior y multiplicarlo por su costo:


 # upgrade_date is `cancellation_date` in prodiction or `purchase_date` of new transaction in sandbox # to_f converts date to float timestamp value prorate_amount = price * (upgrade_date.to_f - cancellation_date.to_f) / (expires_date.to_f - purchase_date.to_f) 

¿Cómo se implementa esto en Apphud?


Apphud rastrea automáticamente los cambios en las suscripciones y calcula el retorno de las partes no utilizadas.



Un ejemplo de un cambio de suscripción al mismo nivel con la devolución de parte de los fondos en Apphud.


Un desarrollador de iOS no está obligado a manejar estas situaciones por sí mismo. Solo necesita integrar el SDK, el resto lo hará Apphud.


Conclusión


Resulta que solo actualizar el valor de product_id no product_id suficiente: también debe considerar el reembolso de las actualizaciones. Trabajar con suscripciones requiere manejar muchas situaciones límite. Hacemos Apphud , un servicio que simplifica enormemente el trabajo con suscripciones. Puedes comenzar a usarlo gratis. Registro - en este enlace .

Source: https://habr.com/ru/post/475758/


All Articles