Best practice: Always force-refresh receipt once user hits "restore purchase" if the user has bought on other device?
Should you force-refresh the receipt every time you verify? If a user purchases on their iPad, but also has the app installed on the iPhone - would the receipt be automatically synced over or is refreshing required in this situation?
When the user gets to have a 7 day trial, would I have to force refresh the receipt after 7 days in order to check whether they have cancelled the subscription? Or will the receipt automatically get updated once the trial has passed (i.e. the user is a paying subscriber now)
My scenario is the following: My app runs on iPad and iPhone. It has a subscription with a 7 day free trial. Imagine the following flow:
- user opens app on iPhone
- user opens app on iPad, buys subscription on iPad
Would, in this situation, SwiftyStoreKit.completeTransactions() get called on the iPhone to process the new purchase on the iPhone either while the app is active or when the user launches the app on the iPhone a few seconds later? Or do I have to tell the user that they have to click the restore button on the iPhone? Does SwiftyStoreKit.restorePurchases() then know about the iPad's purchase or would I have to refresh the receipt at this point?