Testing IAP through TestFlight or Firebase?

There seems to be confusion when testing IAP, even Apple Support were confused.

How do we go about testing IAP? Do we create a sandbox user, add this user onto our device in the Apple ID in settings and then download the app from TestFlight? We attempted to do this, however were unable to download the app from TestFlight.

We have had some advice that IAP is best tested using Firebase, however this would mean the App Store review will not be approved, is that correct?
You are right. Very confusing. When I did this (some months ago now) I did create a Sandbox user account, but never found that it was used.

My experience is that if you are running a version installed from Xcode, or (I hear) a version from TestFlight, the IAP stuff recognizes this and let's you proceed as normal, except that all of your transactions are done in a "Sandbox" mode, where it doesn't actually charge whoever makes the purchases any real $$. In other words, just use your normal Apple account and it works.

The only thing that isn't "automatic" is that Receipt verification for testing purchases has to be directed to the test Apple server in your code. There are plenty of examples of "try one and if it fails, fallback to the other".

Hope that helps.
Thanks! So it appears to work in TestFlight, but when we try and process the transaction it comes up with an error. Any ideas?

It tells me the transaction will be a test and I won't be charged, but when I login using my own Apple ID which I assume is correct, I receive a unable to process popup.
Testing IAP through TestFlight or Firebase?
 
 
Q