Since it takes 48 hours for IAP to go through the system, per KMT's comment, the course of action I would take on this is:
- Set the app for 'Manual Release" instead of "Automatic Release" once approved
- Download the app from TestFlight and keep checking it over the next couple of days until the products appear fine
- Release the app
This is if IAP is required to use the app. If it's just adding another product to an existing list, you can probably skip all of this.
EDIT: My theory above may be contradicted by this text from the tech notes:
If the developer does not approve the release of the production application to the App Store, then any new in-app purchase identifiers will not be activated. This is an issue when a developer wants to verify the application prior to activating it on the App Store. If the desire is to test the in-app purchase process for the new items, the application must be activated to the App Store. This is only an issue for new in-app purchase identifiers in a corresponding application submission. Once these in-app purchase identifiers have been activated, application updates to the submission will find that these in-app purchase identifiers are validated, even if the update is not activated.
As a test, I set my app to Manual Release. The app was approved and my IAP were approved. I tried TestFlight and no new IAP appeared. I manually released the app and waited for it to appear on App Store (maybe 30 minutes) then tried TestFlight app (IAP missing) and tried App Store app (IAP missing).
I did receive an email when I manually released that actually specifies that my new IAP are set to 'Approved", so seems like Releasing is required.
At this stage, sounds like I'm waiting 48 hours for IAP to appear, but seriously how do other companies launch with IAP on go Live, which happens all the time.
It's hard to say. It sounds like it does make sense to keep it in Manual Release for 2 days and then release? This might cut down the 48 hours but not sure.