If you’re new to the iPhone scene or working on In App Purchase code using a client’s iTunes Connect setup, be aware that you must have all of your banking and financial information set up such that you *could* sell something on the app store, even if your app is not yet released, in order to test In App Purchase.
We have a client who hasn’t yet released any applications. We ran into this problem and spent a couple of hours pulling our hair out over it. We suggested that the client go ahead and add his banking information before escalating the problem to our friends at Apple and everything started working once he got himself setup for payments. Unless we’re missing something obvious in the docs, and since there is no error message that comes back from the Store Kit callback indicating why an item is invalid, there is really no way that one would know that other than to have stumbled upon it like we did.