If you're having trouble implementing and testing iOS in-app purchases, you canCheck each of the entries listed below, individually。 I believe we can rule out most of the mistakes.
1. Did you open the In-app purchases feature of the corresponding app AppID in iOS Dev center? Login to iOS Dev center certificates, Identifiers & profiles, find the App,in-app under development in Identifiers Purchase an item should show enabled (if you use XCODE5, you can open In-app Purchases directly in the capabilities page of Xcode).
2. Have you registered your IAP item in itunes Connect and set it to cleared for Sale?
3. Is the bundle identifier content in your plist consistent with your AppID?
4. Have you correctly filled in the two numbers of version (Cfbundleversion) and build (Cfbuildnumber)? Both are indispensable.
5. Did you use the full product ID registered with the ITC when you applied for the list of items sold to Apple using the code? (Use the string in the Product ID column of the purchase item in IAP Management)
6. Did you regenerate the provisioning profile that contains the IAP license after you open the IAP?
7. Have you re-imported the new provisioning profile containing the IAP? It is recommended that the old provisioning profile on the original device be deleted first in the organizer.
8. Are you deploying a test program with provisioning profile with IAP? In Xcode5, it is recommended to use the Team option in general to manage automatically.
9. Do you test the IAP in the simulator? While it is theoretically possible for the simulator to test the IAP in some cases, the conditions are much less reassuring, so you really need a real machine to do the IAP test.
10. Are you testing IAP in an enterprise release? Because the Enterprise Edition does not have an ITC in-store project management and cannot publish AppStore apps, you cannot use IAP in the Enterprise version of build.
11. Did you remove the original app from your device and reinstall it? Remember to do clean and clean Build Folder before installing.
12. Do you log out the actual Apple ID on your device before running the app? It is recommended that you log in with your Apple ID in the settings->itunes store and app Stroe, and go to the app for testing without logging in.
13. Are you using Test User? If you have not created the test User yet, you need to create it in the ITC.
14. Is the test account you are using a U.S. region account? Not necessarily, but given the frequent convulsions of test accounts in other regions, and the steady use of U.S.-based accounts, it is strongly recommended that US regional accounts be used. Under normal circumstances, the IAP does not require credit card binding and other information to fill out, if you encounter this situation, you can try to delete the test account and then create a new area.
15. Do you have a new account to test? If possible, try it with the new test account, because the test account will be locked by Apple in certain circumstances.
16. Is your app rejected (rejected) or refused (Developer rejected)? Rejected apps will also be rejected, so you'll need to re-set the IAP item to cleared for Sale.
17. Is your app waiting for developer release (Pending Developer release) status? An IAP that waits for a publishing state cannot be tested.
18. Has your in-purchase item been recently created or changed? It takes a while for an in-process project to react to all servers, typically two hours, or a few hours longer.
19. Do you have contracts, tax, and Banking information projects in the ITC that have not yet been set up or have expired? Incomplete financial information is not available for in-purchase testing.
20. Do you conduct an on-site purchase test on your jailbreak device? Jailbreak devices cannot be used for normal purchases, you need to reload or find a device that is not jailbroken.
iOS in-app purchase FAQs and Precautions