Our app was recently rejected from the review process because it did not handle uninstall / reinstall of stores within the same billing period.
The reviewer suggested we follow this link, which goes through methods to handle stores that uninstall and reinstall in the same period. In that tutorial, they state:
"there are situations where a merchant has uninstalled an app, but realizes that they need to re-install it within the same payment period. This can lead to overlapping app billing cycles."
This leads me to believe that Shopify will allow you to charge stores twice within the same billing period and that they do not prevent overlapping billing periods.
However, there is a Bug Fix post that states something that I think is in direct conflict with the above tutorial:
"The merchant will resume the original billing cycle and the merchant will not be charged until the end of the 30-day window"
This text states the contrary, that Shopify will handle and prevent the overlapping billing cycles and that double recurring charges are not possible. I normally would trust the bug post information, but the reviewer sent us the other link so I am hesitant about which to trust.
These issues are compounded by the fact that when creating recurring charges in test mode, they do not show any proration or helpful information about when a charge is starting.
So, which information is correct? When a store is on a recurring billing cycle, but uninstalls and reinstalls within the same period, then creates a new recurring charge, does shopify keep them on the same cycle and just charges them at the beginning of the next period?
And can the documentation be updated to be more clear?
Thanks for bringing this up. It looks like the doc hasn't been updated since the bug fix, we'll need to get that fixed.
Counterintuitively, the forum post is your source of truth here.