Thank you for using Unity IAP. We appreciate your feedback and suggestions.
NOTE: Find similar and more up to date information on our Knowledge Base.
Here are a list of FAQs that we will add to as questions pop up:
[May 2016 - Updated 4, and 6. Added questions 14+. June 2016 - Added questions 22+. July 2016 - Added question 24. October 2016 - Added questions 25+. Jan 2017 - Moved some Q to KB.]
1. On Apple’s Sandbox Testing Environment why do no transactions complete?
[Moved to KB]
2. Why does my app hang if I try to make a purchase after not completing (via returning PurchaseProcessingResult.Complete from ProcessPurchase) a previous purchase?
[Moved to KB]
3. Why does the Android build fail with Unity IAP and AdMob?
[Moved to KB]
4. Is receipt validation supported with Unity IAP, for added security?
[Moved to KB]
5. Is Unity IAP on Windows for IL2CPP (a.k.a. 64bit, x64) supported?
No. IL2CPP is considered experimental and a required DLL accessibility feature needed for any plugin to run on Windows IL2CPP has not yet been released.
6. Is Unity IAP for Amazon or Samsung supported?
[Moved to KB] Yes.
7. What is the difference between WindowsPhone8 and WinRT?
From a Unity IAP API perspective there is no difference. This redundancy has been eliminated in a recent plugin update.
8. What is unverified revenue?
[Moved to KB]
9. Why do I see “Unable to purchase ” in the Android log for Google Play only for consumable products?
[Moved to KB]
10. How do I configure my Product IDs for the app stores?
[Moved to KB]
11. How do I resolve error code 0x805A0194, shown in logs when the launching my Windows game?
[Moved to KB]
12. How does Unity IAP initialization work?
[Moved to KB]
13. How does Unity IAP purchasing work?
[Moved to KB]
14. How does product restoration work on iOS?
[Moved to KB]
15. How does product restoration work on Android’s Google Play Store?
Google Play and Unity IAP offer automatic restoration of purchased products that have not been consumed. This restoration happens automatically the first time an app is opened after a user re-installs it or installs it for the first time on a new device.
16. Once a product has been restored what do I need to do to reflect in the app that the user owns the product?
Nothing! Once product restoration has started (either automatically on Unity IAP initialization for Google Play or after the RestoreTransactions method has been called for iOS), Unity IAP’s backend process will call the ProcessPurchase method (via the IStoreListener) on each item being restored. This means that whatever code the app has for the first time a purchase is made, this code will be executed again for the purchases being restored.
17. Are there code examples of Unity IAP I can look at?
[Moved to KB]
18. On Apple, why is ProcessPurchase not being called at launch for previously made but unconsumed purchases?
NOTICE: This is fixed by Unity IAP 1.6.1. For Unity IAP 1.6.0 and earlier:
A third party plugin may be consuming Apple’s SKPaymentQueue SKPaymentTransaction notifications before your game initializes Unity IAP. Unity IAP requires those notifications to account for previously unconsumed purchases. This timing issue can be resolved on some plugins’ configuration settings. For Google’s AdMob call [GADMobileAds disableAutomatedInAppPurchaseReporting] (see also AdMob’s IAP reporting documentation) early in your -[UnityAppController application: didFinishLaunchingWithOptions:] (see the generated Xcode project’s UnityAppController.mm). For Facebook’s SDK v3.22 and higher disable IAP logging with the switch at https://developers.facebook.com > Your App > Settings > Basic > iOS > “iOS Only: Log In-App Purchase Events Automatically (Recommended)” (see also the Facebook SDK IAP App Event logging documentation).
19. Why does Unity IAP stop receiving callbacks on our IStoreListener implementation?
[Moved to KB]
20. On Google Play how do I reset non-consumable purchases for repurchasing on a test account?
You can reset Google Play owned items in the Google Payments Merchant Center. You’ll also need to clear the Google Play app’s cache since it caches a record of what the player owns.
21. How do I build for different Android stores e.g. switch from Google Play to Amazon Appstore?
[Moved to KB]
22. Why does integrating Unity IAP result in compiler errors?
[Moved to KB]
23. Why can’t I enable In-App Purchasing? Who can activate Unity Services (Analytics, Ads, etc.)?
[Moved to KB]
24. How to troubleshoot Windows Universal and Windows Phone 8.1 issues?
- When exporting the Visual Studio project from Unity enable the InternetClientServer capability in Publishing Settings
- Check the phone date and time are correct
- In the project’s generated Package.appxmanifest file make sure the following fields matches the published app:
3a) Package/Identity/Name
3b) Package/Identity/Publisher
3c) PhoneProductId
3d) PublisherDisplayName
3e) EntryPoint
These values can be found in the Developer Center’s “App management > App identity” section.
25. Why does Apple initialization return NoProductsAvailable after I set up my iTunes Account?
While testing if NoProductsAvailable is returned, in spite of having defined products, the iTunes Account may require additional configuration. Ensure your iTunes Account also contains completed agreements on tax and banking. Without these the App Store may refuse to interact with an IAP client.