I have an app with a 14 day free trial and a 4.99 monthly charge. I've noticed a few merchants are using this as a loophole as shown in the screenshot below by uninstalling and reinstalling every ~14 days.
Do I need to manage this type of loophole myself by keeping a db table of myshopify domains to decrement their available trial period days, so that subsequent reinstallations do not utilize this loophole, or is there a simpler way via the API?
As far as i understand You have to manage this yourself in your database. You can store the timestamp when the user activates the free trial and when he reinstalls it you can check if he has used all his free trial days or not. If he had some free trial days left when uninstalled you can create a custom free trial based on when the trail was activated otherwise just do not offer any free trial. That is how i am managing it on my app i hope this is helpful for someone.