Assinaturas IAP de plataforma cruzada do iTunes - como a Netflix faz isso?

Estou criando um serviço que permite que os usuários se registrem em qualquer número de dispositivos (web, Android, Roku, iOS, Apple TV) e comprem uma assinatura mensal para assistir ao conteúdo de vídeo. A assinatura fornece acesso a todo o catálogo. Eu tenho minha própria API de gerenciamento de assinaturas em execução em um servidor que eu gostaria de aproveitar como fonte da verdade, para que os usuários possam comprar uma assinatura no iPad, fazer login no aplicativo no Roku e continuar assistindo de onde pararam.

Basicamente, Netflix.

Aqui estão as minhas opções, tanto quanto eu posso dizer:

Renovação automática de assinaturas: é isso que a Netflix usa hoje, mas a Apple não fornece uma API ou qualquer conjunto de webhooks em torno de sua plataforma de pagamento, então não sei como essa opção poderia funcionar. Meu serviço de back-end não faz ideia de quando a Apple renova automaticamente a assinatura todos os meses ou se um usuário cancela suas assinaturas.

Assinaturas não renováveis: os usuários compram a assinatura dentro do aplicativo pelo IAP. Depois que a compra é concluída, o aplicativo sincroniza a assinatura do meu sistema de back-end. O aplicativo faz interface com meu back-end sempre que uma verificação de direito é necessária. Quando a assinatura de um usuário está prestes a expirar, o aplicativo deve apresentar o fluxo de trabalho de compra novamente.

Importar relatórios do iTunes: não funcionará porque não é em tempo real (puxa, não empurra) e não me diz nada sobre assinaturas canceladas. Só posso gerar relatórios de novos assinantes.

Validação de recibo e envio de recibos para o meu serviço: não funcionará porque depende do usuário realmente usar meu aplicativo. Teoricamente, os usuários podem se inscrever no meu aplicativo, mudar para o Roku e nunca mais abri-lo novamente.

Ignore o IAP completamente e exija que os usuários se inscrevam via web.

Estou esquecendo de algo? Estou realmente curioso para saber como a Netflix está conseguindo isso.

questionAnswers(2)

yourAnswerToTheQuestion