We’re building a public Shopify app that has several pricing plans including Free / Low / Mid / High tiers. We want to offer extended free trials to any paid plans. But only once in the the app’s lifetime.
For example, a merchant starts a paid plan with 30 days free trial. On day 10, they decide to upgrade to the next level pricing plan. We want them to now have 20 days of free trial left on the new plan.
For the initial subscription, we can use appSubscriptionCreate with a trialDays value of 30 days.
For the second subscription, if we use appSubscriptionCreate with trialDays of 30 for the new plan, does that start the free trial clock once again at 0 and they now have 30 days of free usage? This wouldn’t work for us, as merchants could keep switching plans for infinite free trial days.
Or, if we use appSubscriptionCreate with no trialDays input, will the new plan inherit the unused free trial days from the previous subscription? Or, will this kill their free trial days and start billing immediately?
Or, is it up to us to maintain a record of when the first plan was created, and calculate the number of remaining free trial days when creating the second subscription? EG, we have to set trialDays to 20 in the second subscription of the example above.
Finally, is there a way to easily retrieve the remaining free trial days of the current subscription through GraphQL?
Many thanks for any confirmation.