First, some context. We have a public app that has two plan levels, standard and pro. Currently, each plan level offers a 7-day free trial. When a merchant installs the app, they are directed to the standard plan confirmation page, and then within the app, they can then switch the plan they are on at any point. Since both plans have a free trial, it’s possible that someone could start the standard plan free trial, then switch to the pro plan and basically double their free trial period. This was expected and we have no issue with it.
What we didn’t expect, was that merchants can actually hop back and forth between the plan levels as many times as they want and a free trial will be started each time. So you could sign up for the standard plan, wait 7 days, sign up for the pro plan, wait 7 days, and then sign up for the standard plan again, and each time a new free trial is started. Our assumption was that a merchant would only be able to use a given plan’s free trial once, but that is not the case.
Now, although no one has actually tried to abuse this mechanism yet, it seems to suggest that our approach to free trials is flawed, and I was wondering if anyone could offer some insight into how we could improve it so that it aligns better with the functionality of the billing API.
Thanks!
Alex