Skip to main content

Troubleshooting test purchases

If you encounter transaction issues, please first make sure you have completed all the steps outlined in the release checklist. If you've completed all the steps and still encounter issues, please follow the guidance provided below to resolve them:

IssueSolution
An error is returned in the mobile appRefer to the error list for your platform: for iOS, for Android, for Flutter, React Native, or Unity and follow our recommendations to resolve the issue.
Transaction is absent from the Event Feed although no error is returned in the mobile app
  1. For iOS: Ensure you use a real device rather than a simulator.
  2. Ensure that the Bundle ID/Package name of your app matches the one in the App settings.
  3. Ensure the PUBLIC_SDK_KEY in your app matches the Public SDK key in the Adapty Dashboard: App settings-> General tab -> API keys subsection.
No event is present in my testing profile

A new user profile record is automatically created in Adapty in the following cases:

  • When a user runs your app for the first time
  • When a user logs out of your app

All transactions and events in a chain are tied to the profile that generated the first transaction. This helps keep the entire transaction history, including trial periods, subscription purchases, renewals, and more linked to the same profile. This means that a new profile record that generated a subsequent translation - we call it a non-original profile - may not have any events associated with it but will retain the granted access level. In some cases, you'll also see access_level_updated events here. It's advised to ignore these new, empty profiles and focus on the original ones for a clearer view of the user's transaction history.

This behavior is more prominent for testing scenarios but also normal for production. It should not be treated as a bug or SDK misconfiguration.In order to run the test with only one profile and have fun concise history in one place, create a new test account (Sandbox Apple ID) each time you reinstall the mobile app.

Please see an example of a non-original profile under the table. For more details on profile creation, please see Profile record creation.

Prices do not reflect the actual prices set in App Store Connect

In both Sandbox and TestFlight which uses the sandbox environment for in-app purchases, it's important to verify that the purchase flow functions correctly, rather than focusing on the accuracy of prices. It's worth noting that Apple's API can occasionally provide inaccurate data, particularly when different regions are configured for devices or accounts. And since the prices come directly from the Store and the Adapty backend does not affect purchase prices in any way, you can ignore any inaccuracy in prices during the testing of the purchases through Adapty.

Therefore, prioritize testing the purchase flow itself over the accuracy of prices to ensure it functions as intended.

The transaction time in the Event Feed is incorrectThe Event Feed uses the time zone set in the App Settings. To align the time zone of events with your local time, adjust the Reporting timezone in App settings -> General tab.
Paywalls and products take a long time to load

This issue can occur if your test account has a long transaction history. We highly recommend creating a new test account each time, as outlined in our Create a Sandbox Test Account (Sandbox Apple ID) in App Store Connect section.

If you're unable to create a new account, you can clear the transaction history on your current account by following these steps on your iOS device:

  1. Open Settings and tap App Store.
  2. Tap your Sandbox Apple ID.
  3. In the popup, select Manage.
  4. On the Account Settings page, tap Clear Purchase History.

For more details, check out the Apple Developer documentation.

Here is an example of a non-original profile. Notice the absence of events in the User history and the presence of an access level.