Puede encontrar la fecha de vencimiento de la suscripción de un usuario enviando una verificación de recibo a los servidores de Apple. Consulte la figura 1-3 en el In-App Purchase Programming Guide.
Básicamente, los pasos son:
- En el dispositivo, obtener un recibo de transacción para una aplicación con opción de compra en. O bien uno que ha guardado durante una transacción o llamando al
[SKPaymentQueue restoreCompletedTransactions]
.
- Envía ese recibo a tu servidor. (Esto es preferible a tratar de hacer una verificación de recibo con los servidores de Apple directamente desde la aplicación, ya que eso requeriría almacenar su secreto compartido en el dispositivo.)
- Envíe el recibo a los servidores de Apple desde su servidor, y en respuesta busca una clave llamada
expires_date
(expresada en milli segundos desde el 1 de enero de 1970 GMT).
Utilicé esta guía para ayudarme en el lado del servidor: Verifying Apple App Store Receipts For In App Purchases With PHP and cURL.
No hay manera de determinar si el usuario ha activado o no la renovación automática. Apple no le da acceso a esta información. La única forma es esperar hasta que la fecha de vencimiento pase sin una renovación.
Oye, Andrew, es posible suscribirse desde la cuenta de iTunes1 y luego Cambiar la cuenta de iTunes a Cuenta2, y la aplicación debería continuar con la nueva cuenta de iTunes, es decir, Cuenta2. La aplicación no debería solicitar compras desde la cuenta 2. de iTunes. ¿Cómo debo administrar? Estoy usando la suscripción de renovación automática. – Charmi