Hello,
I’m currently working on migrating my IPTV app’s subscription system from a basic local check to Amazon In-App Purchasing (IAP) for Fire TV. The goal is to verify the subscription status through Amazon IAP and store that data (including device serial, subscription start date, and expiration) in a remote MySQL database via a PHP API.
So far, I’ve implemented:
- Integration with
com.amazon.device.iapSDK in myMainActivity.kt - A Flutter method channel to call
getSubscriptionInfo()and handle purchase receipts - Server-side PHP scripts (
registrar_instalacion.phpandactualizar_suscripcion.php) to register the installation and sync subscription info
However, the subscription status is not being restored properly after app restarts or reinstallations. Despite having an active subscription, the app always returns restored: false, and the backend never receives updated subscription data.
Also, I’m calling getPurchaseUpdates(true) to trigger receipt restoration, but it seems either the purchase data isn’t being returned, or the method channel isn’t capturing it correctly. I’ve confirmed that subscriptions are active on Amazon’s side.
My questions:
- Is there a reliable way to ensure Amazon IAP subscriptions are restored on app launch, especially for auto-renewable items?
- How can I extract and forward the original subscription date and expiry from Amazon’s receipt to my backend?
- Are there any known issues or extra steps needed to support receipt verification (RVS) in production for Fire TV apps?
Thanks in advance for any help or suggestions. I’d be happy to share code or logs if needed.