I am writing this blog post to guide people making their first In-App Purchase (IAP) when testing an iOS app in TestFlight.
For some reason that I do not understand, the first time a user tries to purchase an item in an app (an “In-App Purchase”), the user has to go through several extra steps.
So far, it seems, subsequent IAP go much easier.
Identifying locked items
In this example from my ARBots program, the user selects “Character” from the main menu to place a particular ARBot.
Only one character is initially unlocked - “Super Girl”.
The other characters, with their names dimmed, are locked. To unlock them, the user must make an In-App Purchase.
Step 1: Go to the ARBots Store
To unlock characters in ARBots, tap on the “ARBots Store” button in the Home Screen.
Step 2: Start the purchase process
For ARBots, there are two collections of characters you can unlock: sunbathers and warriors.
Tap on the price button to start the purchase process.
Step 3: Initial sign-in
The first step is to sign-in with your Apple ID.
You need to enter both your Apple ID and your password.
Apple controls this process, so the app developer never sees this information.
Step 4: First purchase attempt
Now that you have signed in with your Apple ID, Apple prompts you to confirm you want to make this purchase.
Tap the “Purchase” button.
Step 5: Enter your Apple ID password a second time
This is where the process starts to become confusing.
Previously you had to enter both your Apple ID and your password, but now you are asked for your Apple password a second time.
I think normally this is where devices with Touch ID would have you perform the touch operation, or devices with Face ID would have you double-click the side button to confirm you are who you are (e.g., your child isn’t buying something on your device).
But apps in TestFlight don’t support this, so they require a password instead.
Step 6: Start the purchase process a second time
This is where it gets really weird.
And so far this only seems to be an issue with the first purchase. A second In-App Purchase doesn’t seem to have this issue.
But when you are returned to your ARBots Store screen, the item does not show that is has been purchased.
So tap on the price a second time.
Step 7: Confirm you want to make a purchase (again)
Again, Apple’s software takes over and asks the user if they want to make a purchase.
Tap “Purchase” to tell Apple’s software you really want to make the purchase.
Step 8: Enter your password a third time (ugh!)
Again, with Apple’s software in control of the process, Apple really wants to confirm it is you (and not your child or someone else) making the purchase.
Enter your password a third time, and tap “Sign In”.
Step 9: Glide through the final steps
At this point everything goes smoothly!
Apple’s software briefly displays a pop-up window to show you that the purchase has been completed!!
Next, Apple’s software pops up another window to tell you that the purchase was complete.
Tap “OK” to make the window disappear.
Finally, the ARBots Store replaces the price with a green checkmark showing that the item has been purchased.
Step 10: Use one of the unlocked characters
In ARBots, you can now use the newly unlocked ARBot characters.