bizz84 / bizz84/SwiftyStoreKit
Best practice: Always force-refresh receipt once user hits "restore purchase" if the user has bought on other device?
- Dominant language
- Swift
- Stars
- 6.7k
- Forks
- 801
- PR merge metrics
- No merged PRs in 30d
Description
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?
Contributor guide
Assessment
This issue has not been assessed yet.